diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 54139b2..68ae47e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -72,7 +72,8 @@ jobs: name: charm-snap path: tests/charm-minimal/charm-snap - - name: Build reactive charm with charmcraft + - name: Build reactive charm with charmcraft-2.x + if: ${{ matrix.charmcraft_channel == '2.x/stable' }} run: | set -euxo pipefail sudo snap install --classic --channel ${{ matrix.charmcraft_channel }} charmcraft @@ -108,10 +109,40 @@ jobs: architectures: [amd64] EOF charmcraft pack -p tests/charm-minimal -v + - name: Build reactive charm with charmcraft-3.x + if: ${{ matrix.charmcraft_channel == '3.x/beta' }} + run: | + set -euxo pipefail + sudo snap install --classic --channel ${{ matrix.charmcraft_channel }} charmcraft + cat << EOF | tee tests/charm-minimal/charmcraft.yaml + type: charm + parts: + charm-tools: + plugin: nil + override-build: | + ls -lR \$CRAFT_PROJECT_DIR/ + snap install --dangerous --classic /root/project/charm-snap/charm_0.0.0_amd64.snap + rm -rf \$CRAFT_PROJECT_DIR/parts/charm/src/charm-snap + charm: + after: [charm-tools] + source: . + plugin: reactive + reactive-charm-build-arguments: + - -v + - --binary-wheels-from-source + - --upgrade-buildvenv-core-deps + build-packages: + - python3-dev + - libpq-dev + base: ubuntu@24.04 + platforms: + amd64: + EOF + charmcraft pack -p tests/charm-minimal -v ## action to interactively debug CI failures. - # - name: Setup upterm session - # if: failure() - # uses: lhotari/action-upterm@v1 + - name: Setup upterm session + if: failure() + uses: lhotari/action-upterm@v1 - name: Upload charmcraft execution logs if: always() uses: actions/upload-artifact@v3 @@ -126,3 +157,4 @@ jobs: minimal_ubuntu-18.04-amd64.charm minimal_ubuntu-20.04-amd64.charm minimal_ubuntu-22.04-amd64.charm + minimal_ubuntu-24.04-amd64.charm