Commit Graph

156 Commits

Author SHA1 Message Date
Álvaro Velad Galván 997515a114 ci: Switch to use macos-latest (#7592)
Closes https://github.com/shaka-project/shaka-player/issues/6508
2024-11-14 18:41:23 +01:00
Joey Parrish ef9ba4f095 ci: Fix auto-branch job (#7586)
This uses very explicit ref names for both source and destination, to
fix this error during branch creation:

>   TAG=v4.12.0
>   BRANCH=$(echo "$TAG" | sed -e 's/\.0$/.x/')
>   git push origin HEAD:"$BRANCH"
>
> error: The destination you provided is not a full refname (i.e.,
> starting with "refs/"). We tried to guess what you meant by:
>
> - Looking for a ref that matches 'v4.12.x' on the remote side.
> - Checking if the <src> being pushed ('HEAD')
>   is a ref in "refs/{heads,tags}/". If so we add a corresponding
>   refs/{heads,tags}/ prefix on the remote side.
>
> Neither worked, so we gave up. You must fully qualify the ref.
> hint: The <src> part of the refspec is a commit object.
> hint: Did you mean to create a new branch by pushing to
> hint: 'HEAD:refs/heads/v4.12.x'?
> error: failed to push some refs to
'https://github.com/shaka-project/shaka-player'
> Error: Process completed with exit code 1.
2024-11-13 08:50:01 -08:00
Joey Parrish aafb522b78 ci: Fix status reporting on PRs (#7574)
To report commit status on a PR, the head commit must be used, not the
merge of that head back into the target (e.g. into main).

I would prefer to make status reporting special, so that we can run
tests and other operations against the merge (for more realistic results
and to avoid test failures that only show up after a merge). But this is
the quickest way for me to fix this critical feedback.
2024-11-13 08:18:40 +01:00
Álvaro Velad Galván 5315218484 ci: Add timeouts to avoid hangs on "Build and Test" workflow (#7561) 2024-11-08 10:47:43 +01:00
Álvaro Velad Galván 42bf0ca7d9 ci: Test Opera against macos-latest (#7558) 2024-11-07 19:35:23 +01:00
Joey Parrish 5dea918350 ci: Fix workflow events (#7544)
This was found by auditing workflows based on research published here:

https://github.com/joeyparrish/workflow-cheat-sheet

The research was prompted by a workflow bug in Shaka Streamer
2024-11-05 22:05:11 -08:00
Joey Parrish be0e10c084 ci: Fix test deflake (#7543)
Deflaking tests depends on an exact workflow name, but #7535 renamed the
test workflow. This syncs the name in the deflake workflow.
2024-11-05 12:42:57 -08:00
Álvaro Velad Galván 0f3b212b0d ci: Run "Build and Test" every midnight PST / 8am UTC (#7535) 2024-11-04 11:11:14 -08:00
Álvaro Velad Galván 38a6a3986d ci: Do not cancel other Selenium jobs (#7489)
Documentation:
https://docs.github.com/en/enterprise-cloud@latest/actions/writing-workflows/choosing-what-your-workflow-does/control-the-concurrency-of-workflows-and-jobs
2024-10-24 12:29:50 +02:00
theodab 615aa8e8ec chore: Update issue template to mention geo-blocks (#7474) 2024-10-23 11:49:19 +02:00
Joey Parrish afe7d37f3e ci: Do not cancel other Selenium jobs (#7463)
When we have two jobs queued for FirefoxWindows, for example, we want
one of them to wait, not cancel each other. The only time you would
cancel one is if the other is from the same branch/PR after an update.
Right now, only the browser name is used in the key, so we should never
cancel another job with the same key.

This fix lets us start tests for multiple release PRs at once.
2024-10-21 11:23:47 -07:00
Álvaro Velad Galván 630af7f690 ci: Test PR on Opera (#7366) 2024-09-25 09:26:51 +02:00
Álvaro Velad Galván 50d021521b chore: Update bug template (#7330) 2024-09-17 20:53:53 +02:00
Joey Parrish 6d94d7482b ci: Allow concurrent lab runs that use different devices (#7298) 2024-09-13 09:31:02 +02:00
Joey Parrish 6c8ab370e9 ci: Fix SHA1 selection in lab run (#7299)
In #6811, I introduced a bug into the lab workflow. This came to my
attention through the GitHub Actions warning: "Unexpected input(s)
'sha', valid inputs are ...". This came from the "actions/checkout" step
of the "matrix config" job. The correct input is "ref", not "sha".

This bug meant that any changes to the matrix config were not being
properly tested. It's likely we haven't had any PRs that touched the
matrix config since the bug was introduced in June.
2024-09-13 09:30:31 +02:00
Álvaro Velad Galván e32ee6a1a9 ci: Increase selenium timeout to avoid timeouts in Tizen (#7287) 2024-09-11 17:02:06 +02:00
Álvaro Velad Galván 13450785ad ci: Reduce timeout minutes on test workflows (#6864) 2024-06-20 07:51:09 +02:00
Álvaro Velad Galván e613972b94 ci: Migrate Firefox from macos-13 to macos-latest (#6853)
Using arm (macos-latest) wherever possible reduces build times by 3
minutes.

We have a limited number of macos runners, so if we save time even on
Firefox alone (all we can do pending #6508), we can speed up the queue
of pending jobs across PRs.
2024-06-18 09:51:12 -07:00
Álvaro Velad Galván 69dfb20b28 ci: Remove ChromecastHub from shaka bot commands (#6852)
ChromecastHub is currently disabled, so we don't want to trigger it explicitly on `test ce` commands.
2024-06-18 09:43:07 -07:00
Joey Parrish a472194c77 ci: Compute sha1 from ref in advance in lab and screenshot workflows (#6811)
Always compute sha1 in lab and screenshot workflows in advance.  A symbolic ref can change mid-workflow if the repo changes.

Co-authored-by: Aviv Keller <38299977+RedYetiDev@users.noreply.github.com>
2024-06-13 12:48:37 -07:00
Joey Parrish 8f89bef0a9 ci: Move set-commit-status custom action to shaka-github-tools repo (#6808) 2024-06-12 13:03:08 -07:00
Álvaro Velad Galván d58914f792 chore: Add new question to feature template (#6662) 2024-05-23 18:18:49 +02:00
Álvaro Velad Galván 907e6bab28 feat: Add getNonDefaultConfiguration (#6620) 2024-05-17 09:25:49 +02:00
Joey Parrish 790cc35116 ci: Add overall test timeout of 30 minutes (#6583)
When tests occasionally timeout (as is currently happening with
IndexedDB hangs on Mac), we should stop the test run after 30 minutes
and allow the "deflake" workflow to rerun them. Without this timeout,
the test run can takes hours.

A successful test run takes 15-20 minutes currently.
2024-05-11 10:37:54 -07:00
Joey Parrish 7df5975cfe ci: Fix workflow request for disabled browsers (#6570)
You should be able to request a browser explicitly even if it is disabled by default.  This fixed the workflow logic that limited this.
2024-05-09 11:14:17 -07:00
Joey Parrish 975235beb1 ci: Add additional lab Chromecast devices (#6563)
Co-authored-by: Álvaro Velad Galván <ladvan91@hotmail.com>
2024-05-09 12:01:22 +02:00
Álvaro Velad Galván a2f26351c0 chore: Add new question to bug template (#6535) 2024-05-06 09:41:56 +02:00
Joey Parrish 2a4476a141 ci: Fix macOS CI failures (#6523)
- Install Edge & Firefox explicitly
 - Switch to macos-13 for now to resolve Edge & Chrome timeouts

Issue #6508
2024-05-01 15:26:04 -07:00
Joey Parrish 156893f51d ci: Fix main tags (#6509)
The condition for tagging the main branch was inverted after v4.7.11.

The main-branch tags for v4.6.16, v4.6.17, v4.7.12, v4.7.13, and v4.8.1
all had to be created and pushed by hand to correct this.
2024-04-30 07:05:08 +02:00
Joey Parrish 3ce9e30f5e ci: Fix appspot promotion during deployment (#6503)
Since upgrading the deployment action from v0 to v2, and stumbling into
google-github-actions/deploy-appengine#361, new versions were not
properly promoted. However, our promotion setting in the workflow was
actually ignored the whole time due to a missing "echo".

Closes #6502
2024-04-29 12:02:01 -07:00
Joey Parrish 858ba9eabc ci: Update release-please-action and drop upload-release-action (#6319)
Upgrading release-please-action to v4 requires some changes:
 - Move some settings from the action inputs to a manifest file (release-type, extra-files)
 - Rename default-branch to target-branch

Additionally:
 - There is an example in the new release-please-action docs that covers our exact use case for upload-release-action, but with the official GitHub CLI app.  So we drop upload-release-action and use the GitHub CLI instead.
 - There is an output in release-please-action that gives access to the patch version from semver.  We should use this instead of running endsWith() over tag_name.
 - Update mxschmitt/action-tmate@v3.6 => v3.17.  This is a trivial update on an action that I missed in my last audit.
2024-03-04 21:30:41 -08:00
Joey Parrish 4a15d06c57 ci: Update more actions (#6307)
I missed some before.  I only updated actions from GitHub "actions/..."

This updates all other actions except google-github-actions/release-please, which has some breaking changes we would need to absorb and test.
2024-02-27 16:12:11 -08:00
Joey Parrish 7c00ac42a0 ci: Improve CI status setting (#6306)
- Link CI status to specific jobs, not just the run
 - Split selenium job status flag away from ignore_test_status (which is for getting screenshots)
 - Remove redundant status setting step in update-screenshots
 - Fix final status computation in update-screenshots to account for edge cases and old typo
2024-02-27 15:24:47 -08:00
Joey Parrish 543dafcfea ci: Update all actions (#6305)
This eliminates warnings about outdated node runtimes in GitHub Actions.

actions/download-artifact and actions/upload-artifact are the only ones
with any potential breaking changes, and adjustments have been made and
tested.

See
https://github.com/actions/upload-artifact/blob/main/docs/MIGRATION.md
2024-02-27 13:35:27 -08:00
Joey Parrish 0692e234d1 ci: Tweak command parsing (#6269)
- Fix wrong index variable in loop ("i" vs "INDEX") that prevented
detection of commands at arbitrary places in a comment.
 - Fix parsing of comments with newlines.
 - Normalize commands to lowercase before checking them.
 - Enhance debugging of command parsing.
- Allow the user to say "please" because it just feels nicer to me, even
when I'm talking to a robot.
2024-02-21 15:29:54 -08:00
Álvaro Velad Galván 6f90af3384 chore: Always use a template for issues (#6124)
More info in
https://github.blog/changelog/2019-10-28-new-issue-template-configuration-options/
2024-01-19 07:25:01 +01:00
Álvaro Velad Galván c7eaceca78 chore: Update question template (#6123) 2024-01-18 17:26:29 +01:00
theodab baea57114c chore: Switch to new issues email (#5734)
The new email (shaka-player-maintainers@googlegroups.com) will direct issue reproduction information to a google group that includes core maintainers who are not part of Google proper, as opposed to the old email (shaka-player-issues@google.com) which was Google employees only.
2023-10-05 22:26:38 -07:00
Joey Parrish 169b3e2583 ci: Simplify release version updates (#5724)
lib/player.js was being updated separately because:

1. Originally, we didn't have support for updating arbitrary files with
release-please.
2. When we did get that support in release-please, it would trash the
"-uncompiled" tag we have in uncompiled mode.

By separating the uncompiled version string into two parts and using the
extra-files feature of release-please, we can get the updater to
preserve the "-uncompiled" tag and simplify the release workflow to only
update the PR once per change instead of twice.
2023-10-04 13:47:49 -07:00
Joey Parrish 5a88f3709a ci: Expand deflaking to all lab test and PR test runs (#5625)
Before we only tried to deflake nightly lab test runs, not manual lab
test runs or PR tests. This expands the use to all lab and PR tests.
2023-09-08 13:30:15 -07:00
Joey Parrish e358bce00e ci: Add Chromecast GTV device to the lab (#5612) 2023-09-06 10:37:39 -07:00
Joey Parrish 93df8d1d29 ci: Publish NPM tags explicitly (#5608)
This avoids the implied "latest" tag being added to each and every
release by adding explicit, branch-derived tags to each release, then
setting "latest" explicitly based on the highest release number so far.

See
https://github.com/shaka-project/shaka-player/issues/5599#issuecomment-1707047101
2023-09-06 09:17:48 +02:00
Joey Parrish 1da4f4cd17 ci: Fix version update in release workflow (#5605)
In #5588 we switched off one part of using a fork for release PRs, but
not every part. That caused player.js not to be updated in release PRs,
which broke NPM releases.

This fixes the issue by removing other references to the shaka-bot fork.

Closes #5599
2023-09-05 10:13:51 -07:00
Joey Parrish 87147fa782 ci: Do not use a fork for release actions (#5588)
Stop using a fork to run release actions. Either it is missing a feature
or I misunderstood what that flag is for. See
https://github.com/google-github-actions/release-please-action/issues/819
2023-09-02 08:07:38 +02:00
Joey Parrish 1beb5bc09e ci: Use shaka-bot for coverage reports (#5580) 2023-09-01 19:25:51 -07:00
Joey Parrish 951c57278c ci: Use shaka-bot for releases (#5585)
This enables workflows to be triggered automatically on release PRs,
instead of requiring maintainers to edit the PR description on every
release to trigger required PR workflows.

This uses a separate token from the other shaka-bot token, because it
requires additional permissions to make releases.
2023-09-01 19:24:38 -07:00
Shaka Bot ffc47b90d1 chore: Sync common workflows (#5586)
This is an automated sync of common workflows for this organization.
The upstream source is:

https://github.com/shaka-project/shaka-github-tools/commit/4245160a0b8577baae0ffb75b6b365d850d52fde

Co-authored-by: Shaka Bot <shaka-bot@users.noreply.github.com>
2023-09-01 19:24:00 -07:00
Joey Parrish 27e991d11e ci: Talk to Shaka Bot (#5565)
Now maintainers can send commands to Shaka Bot via PR comments.

Initially, Shaka Bot understands the following commands from anyone:
 - `@shaka-bot help`: Show this help message

And the following commands from maintainers only:
 - `@shaka-bot test`: Start lab tests on all devices
- `@shaka-bot test ce`: Start lab tests on CE devices only (no desktop
browsers)
2023-08-31 10:15:17 -07:00
Joey Parrish 7f7dda30a9 ci: Revert "main branch only - fix bad release PR" (#5564)
This reverts commit 18ffa2cbbc.

So long as we make feature releases with a reasonable (< 100 PRs)
granularity, we won't need to keep doing this. Let's try to keep v4.4 an
anomaly.
2023-08-30 16:31:28 -07:00
Joey Parrish 7c2bfaa978 ci: Fix incremental coverage reports (#5552) 2023-08-29 10:19:35 -07:00