diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a440849..767b388 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,63 +2,16 @@ name: ci on: push: - branches: - - main - tags: - - "**" + branches: [main] + tags: ["**"] pull_request: - branches: - - main + branches: [main] merge_group: - branches: - - main + branches: [main] + workflow_call: + workflow_dispatch: jobs: - context: - strategy: - matrix: - os: [ubuntu-latest] - - runs-on: ${{ matrix.os }} - steps: - - name: Dump GitHub script context - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 - with: - script: console.log(context) - - - name: Dump GitHub context - env: - GITHUB_CONTEXT: ${{ toJson(github) }} - run: echo ${GITHUB_CONTEXT} - - - name: Dump job context - env: - JOB_CONTEXT: ${{ toJson(job) }} - run: echo ${JOB_CONTEXT} - - - name: Dump steps context - env: - STEPS_CONTEXT: ${{ toJson(steps) }} - run: echo ${STEPS_CONTEXT} - - - name: Dump runner context - env: - RUNNER_CONTEXT: ${{ toJson(runner) }} - run: echo ${RUNNER_CONTEXT} - - - name: Dump strategy context - env: - STRATEGY_CONTEXT: ${{ toJson(strategy) }} - run: echo ${STRATEGY_CONTEXT} - - - name: Dump matrix context - env: - MATRIX_CONTEXT: ${{ toJson(matrix) }} - run: echo ${MATRIX_CONTEXT} - - - name: Dump environment variables - run: ${{ (runner.os == 'Windows') && 'gci env:' || 'env | sort' }} - python: strategy: matrix: @@ -129,23 +82,16 @@ jobs: buildkit-mounts-${{ runner.os }} buildkit-mounts-${{ runner.os }} - - name: Inject var-cache-apt into docker - uses: reproducible-containers/buildkit-cache-dance@5b6db76d1da5c8b307d5d2e0706d266521b710de # v3 - with: - cache-source: var-cache-apt - cache-target: /var/cache/apt - - - name: Inject root-cache-pip into docker - uses: reproducible-containers/buildkit-cache-dance@5b6db76d1da5c8b307d5d2e0706d266521b710de # v3 - with: - cache-source: root-cache-pip - cache-target: /root/.cache/pip - - - name: Inject root-cache-uv into docker + - name: Inject cache into docker uses: reproducible-containers/buildkit-cache-dance@5b6db76d1da5c8b307d5d2e0706d266521b710de # v3 with: - cache-source: root-cache-uv - cache-target: /root/.cache/uv + cache-map: | + { + "var-cache-apt": "/var/cache/apt", + "var-lib-apt": "/var/lib/apt", + "root-cache-pip": "/root/.cache/pip", + "root-cache-uv": "/root/.cache/uv" + } - name: Set up Docker Buildx uses: docker/setup-buildx-action@f7ce87c1d6bead3e36075b2ce75da1f6cc28aaca # v3 diff --git a/Dockerfile b/Dockerfile index a019ab7..ac18bee 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,13 +25,20 @@ WORKDIR ${APP_HOME} FROM base AS dev ARG DEBIAN_FRONTEND=noninteractive +COPY <<-EOF /etc/apt/apt.conf.d/99-disable-recommends +APT::Install-Recommends "false"; +APT::Install-Suggests "false"; +APT::AutoRemove::RecommendsImportant "false"; +APT::AutoRemove::SuggestsImportant "false"; +EOF RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ + --mount=type=cache,target=/var/lib/apt,sharing=locked \ rm -f /etc/apt/apt.conf.d/docker-clean && \ + echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache && \ apt-get update && \ - apt-get install --no-install-recommends -y \ + apt-get install --yes \ build-essential \ - curl \ - && rm -rf /var/lib/apt/lists/* + curl ARG PIP_DISABLE_PIP_VERSION_CHECK=1 \ PIP_NO_CACHE_DIR=0 \