name: Build docker images on: push: branches: - master jobs: build: runs-on: ubuntu-latest permissions: contents: read packages: write strategy: matrix: package: - default - cdn - api - gateway - webrtc - admin-api - cdn-cs - gateway-offload steps: - uses: actions/checkout@v6 - uses: cachix/install-nix-action@v31 with: nix_path: nixpkgs=channel:nixos-unstable - name: Build the docker image run: nix build .#containers.x86_64-linux.docker.${{ matrix.package }} - run: docker load < result - name: downcase REPO run: echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} - name: Log in to the Container registry uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Compute image suffix run: | if [ "${{ matrix.package }}" = "default" ]; then echo "SUFFIX=" >> $GITHUB_ENV else echo "SUFFIX=-${{ matrix.package }}" >> $GITHUB_ENV fi - name: Tag and push the image run: | IMAGE_ID=$(docker images spacebar-server-ts$SUFFIX --format '{{.ID}}') docker tag $IMAGE_ID ghcr.io/$REPO$SUFFIX:latest docker push ghcr.io/$REPO$SUFFIX:latest