Dev Container CI #5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Dev Container CI | |
| on: | |
| push: | |
| paths: | |
| - '.github/workflows/flatpak.yml' | |
| - 'flatpak/**' | |
| schedule: | |
| - cron: "0 0 1 * *" | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| include: | |
| - alias: freedesktop | |
| runtime: org.freedesktop.Platform | |
| sdk: org.freedesktop.Sdk | |
| version: 25.08 | |
| - alias: gnome | |
| runtime: org.gnome.Platform | |
| sdk: org.gnome.Sdk | |
| version: 49 | |
| - alias: kde | |
| runtime: org.kde.Platform | |
| sdk: org.kde.Sdk | |
| version: 6.9 | |
| steps: | |
| - name: Checkout source code | |
| uses: actions/checkout@v3 | |
| - name: Setup dev container | |
| if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }} | |
| run: | | |
| npm install --global @devcontainers/cli | |
| - name: Setup container registry credentials | |
| env: | |
| CONTAINER_REGISTRY_NAMESPACE: ${{ secrets.CONTAINER_REGISTRY_NAMESPACE }} | |
| CONTAINER_REGISTRY_USERNAME: ${{ secrets.CONTAINER_REGISTRY_USERNAME }} | |
| CONTAINER_REGISTRY_TOKEN: ${{ secrets.CONTAINER_REGISTRY_TOKEN }} | |
| if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }} | |
| run: | | |
| docker login "$CONTAINER_REGISTRY_NAMESPACE" \ | |
| --username "$CONTAINER_REGISTRY_USERNAME" \ | |
| --password-stdin <<< "$CONTAINER_REGISTRY_TOKEN" | |
| - name: Build dev container | |
| env: | |
| CONTAINER_REGISTRY_NAMESPACE: ${{ secrets.CONTAINER_REGISTRY_NAMESPACE }} | |
| CONTAINER_REGISTRY_USERNAME: ${{ secrets.CONTAINER_REGISTRY_USERNAME }} | |
| ALIAS: ${{ matrix.alias }} | |
| RUNTIME: ${{ matrix.runtime }} | |
| SDK: ${{ matrix.sdk }} | |
| VERSION: ${{ matrix.version }} | |
| run: | | |
| cd flatpak | |
| devcontainer build \ | |
| --workspace-folder . \ | |
| --image-name "$CONTAINER_REGISTRY_NAMESPACE/$CONTAINER_REGISTRY_USERNAME/devcontainer-flatpak:$ALIAS-$VERSION" | |
| - name: Push dev container | |
| env: | |
| CONTAINER_REGISTRY_NAMESPACE: ${{ secrets.CONTAINER_REGISTRY_NAMESPACE }} | |
| CONTAINER_REGISTRY_USERNAME: ${{ secrets.CONTAINER_REGISTRY_USERNAME }} | |
| ALIAS: ${{ matrix.alias }} | |
| VERSION: ${{ matrix.version }} | |
| if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }} | |
| run: | | |
| docker image tag \ | |
| "$CONTAINER_REGISTRY_NAMESPACE/$CONTAINER_REGISTRY_USERNAME/devcontainer-flatpak:$ALIAS-$VERSION" \ | |
| "$CONTAINER_REGISTRY_NAMESPACE/$CONTAINER_REGISTRY_USERNAME/devcontainer-flatpak:$ALIAS" | |
| docker image push --all-tags "$CONTAINER_REGISTRY_NAMESPACE/$CONTAINER_REGISTRY_USERNAME/devcontainer-flatpak" |