name: build container run-name: build container on ${{ gitea.actor }} on: [push] env: GOPROXY: ${{ vars.GOPROXY }} jobs: test: runs-on: bookworm steps: - name: Setup apt mirror run: sed -i "s,deb.debian.org,${{ vars.DEBIAN_MIRROR }},g" ${{ vars.DEBIAN_APT_SOURCES }} if: ${{ vars.DEBIAN_MIRROR && vars.DEBIAN_APT_SOURCES }} - name: Setup Debian environment run: apt update && apt install -y nodejs - name: Setup Golang uses: actions/setup-go@v5 with: go-version: 1.24.0 - name: Check out repository code uses: actions/checkout@v4 - name: Run tests run: go test -v ./... build-container: runs-on: bookworm needs: - test steps: - name: Setup apt mirror run: sed -i "s,deb.debian.org,${{ vars.DEBIAN_MIRROR }},g" ${{ vars.DEBIAN_APT_SOURCES }} if: ${{ vars.DEBIAN_MIRROR && vars.DEBIAN_APT_SOURCES }} - name: Setup debian environment run: apt update && apt install -y podman podman-compose nodejs - name: Check out repository code uses: actions/checkout@v4 - name: Build container run: REGISTRY=${{ github.server_url}}; REGISTRY=${REGISTRY##https://}; REGISTRY=${REGISTRY##http://}; podman build -t $REGISTRY/${{ github.repository }} . - name: Login to Container Registry run: echo "${{ secrets.ACTION_PACKAGE_WRITE_TOKEN }}" | podman login ${{ github.server_url }} -u ${{ github.repository_owner }} --password-stdin - name: Push Container Image run: REGISTRY=${{ github.server_url}}; REGISTRY=${REGISTRY##https://}; REGISTRY=${REGISTRY##http://}; podman push $REGISTRY/${{ github.repository }} docker://$REGISTRY/${{ github.repository }}:dev if: ${{ github.ref_type == "branch" && github.ref_name == "master" }} - name: Push Container Image with Tag and Update latest image run: REGISTRY=${{ github.server_url}}; REGISTRY=${REGISTRY##https://}; REGISTRY=${REGISTRY##http://}; podman push $REGISTRY/${{ github.repository }}; podman push $REGISTRY/${{ github.repository }} docker://$REGISTRY/${{ github.repository }}:${{ github.ref_name }} if: ${{ github.ref_type == "tag" }}