Skip to content

Dev Container CI

Dev Container CI #5

Workflow file for this run

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"