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

feat(ci): attach release assets from dist.ipfs.io #8494

Merged
merged 55 commits into from
Oct 15, 2021
Merged

feat(ci): attach release assets from dist.ipfs.io #8494

merged 55 commits into from
Oct 15, 2021

Conversation

petar
Copy link
Contributor

@petar petar commented Oct 6, 2021

Addresses #8316.

@BigLep BigLep linked an issue Oct 12, 2021 that may be closed by this pull request
@petar petar marked this pull request as ready for review October 12, 2021 23:56
@petar petar requested a review from lidel October 12, 2021 23:56
Fetching only what we need + triggering a smoke-test against 0.10.0-rc1
@lidel lidel changed the title sync assets between dist.ipfs.io and github releases feat: attach release assets from dist.ipfs.io Oct 13, 2021
@lidel lidel changed the title feat: attach release assets from dist.ipfs.io feat(ci): attach release assets from dist.ipfs.io Oct 13, 2021
Copy link
Member

@lidel lidel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thank you @petar ❤️

Ready to be merged.

TODO

  • smoke test
  • switch CI trigger to cron+manual

Smoke-test result: 👍

I tested it end-to-end with 0.10.0-rc1 (removed all assets just to see if we hit any performance issue when 50 files need to be uploaded). There were no issues, sync took 3 minutes and all missing assets got attached correctly to v0.10.0-rc1:

2021-10-14_00-27

Comment on lines +3 to +6
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
Copy link
Member

@lidel lidel Oct 13, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ℹ️ the sync will run once a day and sync the latest 5 releases, but also can be triggered manually if needed (eg. when maintainer knows the assets for newly added release just got added to dist.ipfs.io)

@aschmahmann does this look good? if so, we can merge this.

restore-keys: |
${{ runner.os }}-go-
- name: Build go-ipfs binary
run: go install github.com/ipfs/go-ipfs/cmd/ipfs@latest
Copy link
Member

@lidel lidel Oct 13, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ℹ️ my understanding is this will always use the latest release, which should be more stable than using the latest master. I've added cache so all deps are fetched only once:

first run second run, with cache
Screenshot 2021-10-13 at 23-57-01 Build software better, together Screenshot 2021-10-13 at 23-56-19 sync assets between dist ipfs io and github releases by petar · Pull Request #8494 · ipfs

I think we could just fetch binary from dist.ipfs.io, but i'm fine either way.

💭 This and starting, waiting for go-ipfs node, all are steps which we duplicate across workflows. We will most likely extract these reusable steps into a separate action (@BigLep – fysa this will be another good onboarding task for Piotr 🔧 ✨ )

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK on generic action: #8511

@petar petar merged commit 2bb2f64 into master Oct 15, 2021
@petar petar deleted the issues/8316 branch October 15, 2021 15:38
lidel added a commit to libp2p/go-libp2p-relay-daemon that referenced this pull request Dec 1, 2021
lidel added a commit to libp2p/go-libp2p-relay-daemon that referenced this pull request Dec 6, 2021
* feat: attach signed binaries to gh releases

reuses work from ipfs/kubo#8494
but skips prereleases.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Automate copying of signed binaries from dist.ipfs.io/go-ipfs
4 participants