Skip to content
New issue

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

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

Already on GitHub? # to your account

Actions Artifacts v4 backend #28965

Merged
merged 37 commits into from
Mar 2, 2024
Merged

Conversation

ChristopherHX
Copy link
Contributor

@ChristopherHX ChristopherHX commented Jan 27, 2024

Fixes #28853

Needs both https://gitea.com/gitea/act_runner/pulls/473 and https://gitea.com/gitea/act_runner/pulls/471 on the runner side and patched actions/upload-artifact@v4 / actions/download-artifact@v4, like christopherhx/gitea-upload-artifact@v4 and christopherhx/gitea-download-artifact@v4, to not return errors due to GHES not beeing supported yet.


Known issues

  • official action v4 doesn't allow replace, this is not checked
    • to check this, we need to know if the artifact has been created in the current run_attempt of the job
  • added fixture uses some invalid task token data, which are not used by the test and required by constraints
    • I'm not shure how to generate these fields for a fixture

Open Questions

  • Can we Append Blockstorage?
    • merging chunks like now is inefficient
    • use the url of the backend to upload via a signed url?
    • GitHub returns the azure Blockstorage url for direct upload without any proxy like used in this PR

Workflow used for testing purposes

on:
  push:
jobs:
  _5:
    runs-on: self-hosted
    steps: 
    - run: env
    - run: |
        github:
        ${{ tojson(github) }}
        inputs:
        ${{ tojson(inputs) }}
        matrix:
        ${{ tojson(matrix) }}
        needs:
        ${{ tojson(needs) }}
        strategy:
        ${{ tojson(strategy) }}            
      shell: cp {0} context.txt
    - uses: christopherhx/gitea-upload-artifact@v4
      with:
        name: test
        path: context.txt

    - uses: christopherhx/gitea-download-artifact@v4
      with:
        name: test
        path: out
    - run: cat out/context.txt

preview

@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Jan 27, 2024
@pull-request-size pull-request-size bot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Jan 27, 2024
@github-actions github-actions bot added the modifies/api This PR adds API routes or modifies them label Jan 27, 2024
@lunny lunny requested review from fuxiaohei and wolfogre January 28, 2024 01:44
@pull-request-size pull-request-size bot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Feb 2, 2024
@ChristopherHX ChristopherHX marked this pull request as ready for review February 2, 2024 16:55
@lunny lunny added this to the 1.22.0 milestone Feb 8, 2024
@lunny lunny added the type/feature Completely new functionality. Can only be merged if feature freeze is not active. label Feb 8, 2024
@kgdev

This comment was marked as off-topic.

@lunny

This comment was marked as off-topic.

@ChristopherHX
Copy link
Contributor Author

I have noticed that they have added a delete Artifacts api after my initial implementation of the internal ip.

My plan is to update this PR to include that endpoint and add more tests

Uploading a tar archive to the blobstorage as single is possible on GitHub Actions, however the content disposition header in the UI always names it <name>.zip

See here the summary of the changes in this backend following GitHub Actions

@pull-request-size pull-request-size bot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Feb 17, 2024
@fuxiaohei fuxiaohei self-assigned this Feb 18, 2024
@GiteaBot GiteaBot added the lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. label Feb 29, 2024
@lunny lunny added the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Feb 29, 2024
@ChristopherHX
Copy link
Contributor Author

I have noticed in my previous PR that the
--- is not respected to mark content that should not be part of the commit message during PR merge. So this additional content has been manually removed from my side.

@wxiaoguang
Copy link
Contributor

I have noticed in my previous PR that the --- is not respected to mark content that should not be part of the commit message during PR merge. So this additional content has been manually removed from my side.

I have called for "please edit the commit message manually before merge" in the member's discord channel.

But I guess such initiative is seldom followed. (At least, when I merge, I always edit).

@ChristopherHX
Copy link
Contributor Author

Ah I didn't know that stripping the commit message is a manual task. I rather thought that some kind of automation for this would exist that broke. Features like "merge queue / auto merge" doesn't play nicely with it. I will just copy the original pr body back after merge.

@lunny lunny enabled auto-merge (squash) March 2, 2024 08:50
@lunny lunny merged commit a53d268 into go-gitea:main Mar 2, 2024
26 checks passed
@GiteaBot GiteaBot removed the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Mar 2, 2024
zjjhot added a commit to zjjhot/gitea that referenced this pull request Mar 2, 2024
* giteaofficial/main:
  Actions Artifacts v4 backend (go-gitea#28965)
  Remove jQuery AJAX from common global functions (go-gitea#29528)
  Allow options to disable user gpg keys configuration from the interface on app.ini (go-gitea#29486)
  [skip ci] Updated translations via Crowdin
  Fix issue & comment history bugs (go-gitea#29525)
  Fix incorrect diff expander for deletion of last lines in a file (go-gitea#29501)
  Ignore `__debug_bin*` which is generated by vscode when debugging (go-gitea#29524)
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 10, 2024
# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. modifies/api This PR adds API routes or modifies them size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. type/feature Completely new functionality. Can only be merged if feature freeze is not active.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support actions/upload-artifact@v4, actions/download-artifact@v4
6 participants