Container Build #114
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: "Container Build" | |
| on: | |
| workflow_dispatch: # needed for manually running this workflow | |
| schedule: | |
| - cron: "15 3 * * *" # sadly there is no TZ support here | |
| permissions: | |
| contents: read | |
| packages: write | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| container: | |
| image: moby/buildkit:latest | |
| options: --privileged | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Build container | |
| run: | | |
| # registry credentials | |
| export DOCKER_CONFIG="$(pwd)/container" | |
| echo "{\"auths\":{\"ghcr.io\":{\"auth\":\"$(echo -n ${{ github.actor }}:${{ secrets.GITHUB_TOKEN }} | base64 -w 0)\"}}}" > $DOCKER_CONFIG/config.json | |
| # ugly workaround for converting content of $GITHUB_REPOSITORY (= `MagicMirrorOrg/MagicMirror-3rd-Party-Modules`) | |
| REPO="$(echo $GITHUB_REPOSITORY | tr '[:upper:]' '[:lower:]')" | |
| # build | |
| buildctl-daemonless.sh build \ | |
| --progress plain \ | |
| --frontend=dockerfile.v0 \ | |
| --local context=. \ | |
| --local dockerfile=container \ | |
| --output type=image,"\"name=ghcr.io/${REPO}:${{ github.ref_name }}\",push=true" |