build(deps): bump the minor-and-patch group across 1 directory with 7 updates #466
Workflow file for this run
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: Template Check | |
| on: | |
| push: | |
| branches: | |
| - "main" | |
| - "20*" | |
| tags: ["*"] | |
| pull_request: | |
| branches: | |
| - "main" | |
| - "20*" | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| FORCE_COLOR: "1" # Make tools pretty. | |
| PIP_DISABLE_PIP_VERSION_CHECK: "1" | |
| PIP_NO_PYTHON_VERSION_WARNING: "1" | |
| COMPOSE_FILE: "docker-compose.yml:docker-compose.dev.yml" | |
| permissions: | |
| contents: read | |
| jobs: | |
| generate-convention: | |
| name: Generate a Convention | |
| runs-on: ubuntu-latest | |
| outputs: | |
| convention_root: ${{ steps.convention-setup.outputs.convention_root }} | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| with: | |
| persist-credentials: false | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@f94ec6bedd8674c4426838e6b50417d36b6ab231 # v5.3.1 | |
| with: | |
| enable-cache: false | |
| - id: convention-setup | |
| run: | | |
| convention_root=$(mktemp -d) | |
| echo "CONVENTION_REPO_PATH=$convention_root" >> "$GITHUB_ENV" | |
| echo "convention_root=${convention_root}" >> "$GITHUB_OUTPUT" | |
| - run: | | |
| uvx copier copy --vcs-ref=HEAD \ | |
| --defaults \ | |
| --data git_ref="${GITHUB_SHA}" \ | |
| . "$CONVENTION_REPO_PATH" | |
| - name: Tar up the output to preserve permissions | |
| env: | |
| CONVENTION_ROOT: ${{ steps.convention-setup.outputs.convention_root }} | |
| run: | | |
| tarfile=$(pwd)/nomnomcon.tar | |
| cd "${CONVENTION_ROOT}" | |
| tar -cvf "$tarfile" . | |
| - name: Upload convention tarball | |
| uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1 | |
| with: | |
| name: NomNomCon-with-defaults | |
| path: nomnomcon.tar | |
| validate-template: | |
| name: Verify the generated template | |
| runs-on: ubuntu-latest | |
| needs: | |
| - generate-convention | |
| env: | |
| UV_PYTHON_PREFERENCE: managed | |
| steps: | |
| - uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9 | |
| with: | |
| name: NomNomCon-with-defaults | |
| - name: untar the convention | |
| run: | | |
| tar xvf nomnomcon.tar | |
| find . | |
| rm -f nomnomcon.tar | |
| - uses: extractions/setup-just@dd310ad5a97d8e7b41793f8ef055398d51ad4de6 # v2.0.0 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@f94ec6bedd8674c4426838e6b50417d36b6ab231 # v5.3.1 | |
| with: | |
| enable-cache: false | |
| - name: Create docker-compose.override.yml for CI | |
| run: | | |
| cat > docker-compose.override.yml <<'EOF' | |
| services: | |
| web: | |
| build: | |
| context: . | |
| dockerfile: Dockerfile | |
| target: dev | |
| worker: | |
| build: | |
| context: . | |
| dockerfile: Dockerfile | |
| target: dev | |
| boot: | |
| build: | |
| context: . | |
| dockerfile: Dockerfile | |
| target: dev | |
| EOF | |
| - name: Post-installation setup | |
| run: | | |
| # allow prereleases, if nothing else because nomnom itself is | |
| # still in prerelease | |
| uv sync --prerelease=allow | |
| just bootstrap | |
| - run: | | |
| # interactively run the bootstrap to make sure we see issues | |
| docker compose run boot | |
| - name: start up the services | |
| run: | | |
| docker compose up --wait --wait-timeout 300 web worker | |
| rc=$? | |
| if [[ $rc != 0 ]]; then | |
| docker compose logs boot web db | |
| exit $rc | |
| fi | |
| - name: Test the service out | |
| run: | | |
| set -exu -o pipefail | |
| PORT=$(docker compose port web 8000 | cut -d: -f2) | |
| curl --fail-with-body -v "http://localhost:$PORT" | |
| - name: Dump Docker Logs on Failure Always | |
| if: failure() | |
| run: | | |
| echo "Dumping Docker Logs to help debugging..." | |
| docker compose ps || echo "no docker compose?" | |
| docker compose config || echo "no config?" | |
| docker compose logs web || echo "no web logs" | |
| docker compose logs boot || echo "no boot logs" |