Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ac claim for old docker/build-push-action@v3 / current buildx gha cache #29584

Merged
merged 3 commits into from Mar 5, 2024

Conversation

ChristopherHX
Copy link
Contributor

@ChristopherHX ChristopherHX commented Mar 4, 2024

Also resolves a warning for current releases

| ##[group]GitHub Actions runtime token ACs
| ##[warning]Cannot parse GitHub Actions Runtime Token ACs: "undefined" is not valid JSON
| ##[endgroup]
====>
| ##[group]GitHub Actions runtime token ACs
| ##[endgroup]

* this is an error in v3

References in the docker org:

No known official action of GitHub makes use of this claim.

Current releases throw an error when configure to use actions cache

| ERROR: failed to solve: failed to configure gha cache exporter: invalid token without access controls
| ##[error]buildx failed with: ERROR: failed to solve: failed to configure gha cache exporter: invalid token without access controls

@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Mar 4, 2024
@pull-request-size pull-request-size bot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Mar 4, 2024
@ChristopherHX ChristopherHX marked this pull request as draft March 4, 2024 11:59
Also resolves a warning for current releases

```
| ##[group]GitHub Actions runtime token ACs
| ##[warning]Cannot parse GitHub Actions Runtime Token ACs: "undefined" is not valid JSON
| ##[endgroup]
====>
| ##[group]GitHub Actions runtime token ACs
| ##[endgroup]
```
@ChristopherHX
Copy link
Contributor Author

Hmm https://github.com/moby/buildkit/blob/b7d04a8a5f76fa7b4c9f923be9e6d9d7a80d0def/cache/remotecache/gha/gha.go#L313...

They don't restore the build cache if we use an empty list of scopes.

Investigating

@pull-request-size pull-request-size bot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Mar 4, 2024
@ChristopherHX ChristopherHX changed the title Add ac claim for old docker/build-push-action@v3 Add ac claim for old docker/build-push-action@v3 / current buildx gha cache Mar 4, 2024
@ChristopherHX
Copy link
Contributor Author

ChristopherHX commented Mar 4, 2024

NOTE for buildx cache to work we need to include the first key in partial key matching https://github.com/nektos/act/blob/934b13a7a126198019800e79fb2ae7fe57a1c2bd/pkg/artifactcache/handler.go#L388

e.g. remove [1:] part

@wolfogre has created that cache server, my own cache implementation in christopherhx/runner.server has the same bug while used by docker buildx

test workflow (push disabled)

on:
  push:
  
jobs:
  docker:
    runs-on: self-hosted
    permissions:
      contents: read
      packages: write
    steps:
    - uses: actions/checkout@v3
    -
      name: Set up QEMU
      uses: docker/setup-qemu-action@v2
    -
      name: Set up Docker Buildx
      uses: docker/setup-buildx-action@v2
    -
    - run: |
        echo "LOWNER<<EOF23" >> $GITHUB_ENV
        echo $(echo "$OWNER" | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV
        echo "EOF23" >> $GITHUB_ENV        
      shell: bash
      env:
        OWNER: ${{github.repository_owner}}
    -
      name: Build and push
      uses: docker/build-push-action@v5
      with:
        context: .
        file: Dockerfile
        platforms: linux/amd64
        load: true
        cache-from: type=gha
        cache-to: type=gha,mode=max
        tags: test:test

Sample Dockerfile

FROM ubuntu:latest

RUN touch /etc/random.txt

Sample log showing cache has been used


#4 [internal] load .dockerignore
#4 transferring context: 2B done
#4 DONE 0.0s
#5 [1/2] FROM docker.io/library/ubuntu:latest@sha256:f9d633ff6640178c2d0525017174a688e2c1aef28f0a0130b26bd5554491f0da
#5 resolve docker.io/library/ubuntu:latest@sha256:f9d633ff6640178c2d0525017174a688e2c1aef28f0a0130b26bd5554491f0da 0.0s done
#5 DONE 0.0s
#6 importing cache manifest from gha:1704920929739787516
#6 DONE 22.9s
#7 [2/2] RUN touch /etc/random.txt
#7 CACHED

Also pulling the base image now has 0s duration, instead a 30s download from dockerhub

This is planned by me for Gitea 1.23 or later

@ChristopherHX ChristopherHX marked this pull request as ready for review March 4, 2024 15:41
@lunny lunny requested a review from wolfogre March 5, 2024 04:03
@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Mar 5, 2024
@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Mar 5, 2024
@lunny lunny added the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Mar 5, 2024
@lunny lunny enabled auto-merge (squash) March 5, 2024 17:02
@lunny lunny merged commit 368743b into go-gitea:main Mar 5, 2024
26 checks passed
@GiteaBot GiteaBot added this to the 1.23.0 milestone Mar 5, 2024
@GiteaBot GiteaBot removed the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Mar 5, 2024
zjjhot added a commit to zjjhot/gitea that referenced this pull request Mar 6, 2024
* giteaofficial/main:
  Run editorconfig-checker on `locale_en-US.ini` (go-gitea#29608)
  bump protobuf module (go-gitea#29617)
  Add ac claim for old docker/build-push-action@v3 / current buildx gha cache (go-gitea#29584)
  Skip email domain check when admins edit user emails (go-gitea#29609)
  Improve natural sort (go-gitea#29611)
  Add empty repo check in `DetectAndHandleSchedules` (go-gitea#29606)
  Fix contributor graphs mobile layout and responsiveness (go-gitea#29597)
  Skip email domain check when admin users adds user manually (go-gitea#29522)
  Replace more `gt-` with `tw-`, update frontend docs (go-gitea#29595)
  Remove unnecessary ctxData for "attachments" template (go-gitea#29600)
  Adjust tailwind content globs (go-gitea#29596)
  Use flex wrap to layout the PR update button (go-gitea#29590)
  Make "/user/login" page redirect if the current user has signed in (go-gitea#29583)
  [skip ci] Updated translations via Crowdin
  Fix projects mode bugs (go-gitea#29593)
  Regenerate fomantic lockfile and build it with our browserslist (go-gitea#29560)
  Do not exceed display for the PR page buttons on smaller screens (go-gitea#29418)
  Add aria-label to the navbar menu button (go-gitea#29587)
silverwind added a commit to silverwind/gitea that referenced this pull request Mar 6, 2024
* origin/main: (29 commits)
  Tweak actions color and borders (go-gitea#29640)
  Add download URL for executable files (go-gitea#28260)
  Move all login and account creation page labels to be above inputs (go-gitea#29432)
  Avoid issue info panic (go-gitea#29625)
  Cache repository default branch commit status to reduce query on commit status table (go-gitea#29444)
  Avoid unexpected panic in graceful manager (go-gitea#29629)
  Add a link for the recently pushed branch notification (go-gitea#29627)
  Fix wrong header of org project view page (go-gitea#29626)
  Detect broken git hooks (go-gitea#29494)
  Sync branches to DB immediately when handle git hook calling (go-gitea#29493)
  Fix wrong line number in code search result (go-gitea#29260)
  Make wiki default branch name changable (go-gitea#29603)
  A small refactor for agit implementation (go-gitea#29614)
  Update Twitter Logo (go-gitea#29621)
  Fix 500 error when adding PR comment (go-gitea#29622)
  Run editorconfig-checker on `locale_en-US.ini` (go-gitea#29608)
  bump protobuf module (go-gitea#29617)
  Add ac claim for old docker/build-push-action@v3 / current buildx gha cache (go-gitea#29584)
  Skip email domain check when admins edit user emails (go-gitea#29609)
  Improve natural sort (go-gitea#29611)
  ...
@lunny lunny modified the milestones: 1.23.0, 1.22.0 Mar 8, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 16, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants