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

workflows: Update build workflow to not rely on curl based upload #3117

Merged
merged 9 commits into from
Aug 12, 2024

Conversation

hjpotter92
Copy link
Member

@hjpotter92 hjpotter92 commented Aug 6, 2024

  • getting our build uploads flow to be same as other projects under livepeer/ organisation
  • replacing the upload_build.sh script with python equivalent to only handle discord notification, uploads would be done as github action
  • combine discord notification to a single message per commit instead of separate message per individual build platform/architecture combo

screenshot of difference between successful build notifications on discord (channel: #builds):

before:

image

after:

image

@hjpotter92 hjpotter92 self-assigned this Aug 6, 2024
embed.set_timestamp()
webhook.add_embed(embed)
response = webhook.execute()
print(response)
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we check the response status and assert if it's 2XX? just printing errors won't fail the gihtub workflow

Copy link
Contributor

Choose a reason for hiding this comment

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

This is sth new? Unrelated to the upload issue?

Copy link
Member Author

Choose a reason for hiding this comment

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

the upload issue is because gcp deprecated its signature mechanism we were relying on in upload_build.sh script. it was also sending out separate build messages for each build to the discord channel instead of grouping them together.

with:
path: ${{ steps.branch-manifest.outputs.manifest-file }}
destination: "build.livepeer.live/${{ github.event.repository.name }}/"
parent: false
process_gcloudignore: false

- name: Trigger discord webhook
Copy link
Contributor

@pwilczynskiclearcode pwilczynskiclearcode Aug 8, 2024

Choose a reason for hiding this comment

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

Which Discord channel receives those messages? A comment in code would be nice

@j0sh
Copy link
Collaborator

j0sh commented Aug 8, 2024

it's present in the PR's message above :)

It would be better to have the description directly in the ticket, there is a template for that. Discord is not easily accessible and the conversation is behind a private channel, but this is an open source repo.

@@ -120,7 +111,6 @@ jobs:
run: go mod download

- name: Install ffmpeg
if: steps.cache-ffmpeg.outputs.cache-hit != 'true'
Copy link
Collaborator

Choose a reason for hiding this comment

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

curious why this is being removed since ffmpeg takes a long time to build

also seems unrelated to the rest of the PR

Copy link
Member Author

Choose a reason for hiding this comment

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

the cache has not been working forever (screenshot below)

image

i tried fixing it in 3f048d0 (#3117) but that led to the next builds failing to find protoc. no idea why skipping ffmpeg install step leads to failure to find protoc (and we've observed this happen in the past too). would appreciate some insight into fixing the ffmpeg installation script if we can make use of caching there.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Thanks for the context - I am not too familiar with the CI build actions myself. The only thing I can think of is there is a v4 update to the action

skipping ffmpeg install step leads to failure to find protoc

weird, maybe it implicitly installs protoc somehow ... but I am not seeing anything obvious in the install script (and my own box doesn't even have it)

@hjpotter92
Copy link
Member Author

it's present in the PR's message above :)

It would be better to have the description directly in the ticket, there is a template for that. Discord is not easily accessible and the conversation is behind a private channel, but this is an open source repo.

updated the PR description. it doesnt follow the template structure, but did list out most of the changes covered.

@livepeer livepeer deleted a comment from hjpotter92 Aug 9, 2024
@hjpotter92 hjpotter92 merged commit 02773f5 into master Aug 12, 2024
18 checks passed
@hjpotter92 hjpotter92 deleted the hjp/build-workflow branch August 12, 2024 12:57
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.

4 participants