diff --git a/.forgejo/workflows/docker-build-push-action-in-lxc.yml b/.forgejo/workflows/docker-build-push-action-in-lxc.yml new file mode 100644 index 00000000..fe6b4eed --- /dev/null +++ b/.forgejo/workflows/docker-build-push-action-in-lxc.yml @@ -0,0 +1,78 @@ +# +# Example that requires a Forgejo runner with an [LXC backend](https://forgejo.org/docs/latest/admin/actions/runner-installation/#setting-up-the-container-environment). +# +# - Start a Forgejo instance to be used as a container registry +# - Build a container image using the [docker/build-push-action](https://code.forgejo.org/docker/build-push-action) action +# - Push the image to the Forgejo instance +# - Retrieve the image +# +# Runs of this workflow can be seen in [the Forgejo runner](https://code.forgejo.org/forgejo/runner/actions?workflow=docker-build-push-action-in-lxc.yml) logs. +# +name: example +on: + push: + branches: + - 'main' + pull_request: + +env: + FORGEJO_VERSION: 11.0.3 # renovate: datasource=docker depName=code.forgejo.org/forgejo/forgejo + FORGEJO_USER: root + FORGEJO_PASSWORD: admin1234 + +jobs: + docker-build-push-action-in-lxc: + if: forge.repository_owner != 'forgejo-integration' && forge.repository_owner != 'forgejo-experimental' && forge.repository_owner != 'forgejo-release' + runs-on: lxc-bookworm + + steps: + + - name: install Forgejo so it can be used as a container registry + id: registry + uses: https://data.forgejo.org/actions/setup-forgejo@v3.0.1 + with: + user: ${{ env.FORGEJO_USER }} + password: ${{ env.FORGEJO_PASSWORD }} + binary: https://code.forgejo.org/forgejo/forgejo/releases/download/v${{ env.FORGEJO_VERSION }}/forgejo-${{ env.FORGEJO_VERSION }}-linux-amd64 + lxc-ip-prefix: 10.0.9 + + - name: enable insecure / http uploads to the Forgejo registry + run: |- + set -x + # the docker daemon was implicitly installed when Forgejo was + # installed in the previous step. But it will refuse to connect + # to an insecure / http registry by default and must be told + # otherwise + cat > /etc/docker/daemon.json <