Commit Graph

38 Commits

Author SHA1 Message Date
Joey Parrish a540fec627 ci: Fix typo in demo index workflow (#4130)
Closes #4074
2022-04-15 08:40:56 -07:00
Joey Parrish 783db97778 ci: Cancel old test runs when a PR is updated (#4127)
If another instance of the build-and-test workflow is started for the
same PR, cancel the old one.  If a PR is updated and a new test run is
started, the old test run will be cancelled automatically to conserve
resources.
2022-04-14 10:08:10 -07:00
Joey Parrish b11bec0e2d ci: Fix generation of demo index by fetching all history (#4126)
The demo index generation is now based on the git tags.  So when
checking out the repo to generate the index, the entire history is
needed.

Closes #4074
2022-04-14 10:01:18 -07:00
Joey Parrish d8b3341720 test: Run tests on a custom Selenium grid (#4117)
Includes a YAML config file for our lab, and documentation on how to
create a custom config for another Selenium grid.

A workflow will run tests nightly in the Shaka lab, using a
self-hosted runner with access to our private grid.

The workflow can also be triggered manually by maintainers to test a
PR in the lab.  This will report status back to the PR.
2022-04-12 11:32:59 -07:00
Joey Parrish 2eca4b2ef5 ci: Generate static content for demo index at deploy time (#4119)
Rather than runtime-querying of appengine versions within the
appengine environment, we can instead generate the index at deployment
time (from git tags) and just serve static content.  This simplifies
the system and avoids dependence on Google Cloud.

This was less feasible before we adopted GitHub Actions, but is now
relatively simple.  The index will be regenerated when the index code
is updated or when a new release is created.

Closes #4074
2022-04-12 10:10:41 -07:00
Joey Parrish cabb17a44c ci: Test on Safari 14 (#4095)
In the GitHub Actions environment, it is now possible to install and
run tests on Safari 14.  Though not completely straightforward, it
doesn't add much code to the workflow and shouldn't be too difficult
to maintain.

Closes #3899
2022-04-01 07:56:23 -07:00
Joey Parrish 62c60527bc ci: Fix Docker build (#4078)
This fixes the workflow job failing because of missing sources, and it
also fixes the job to run the compiler, not just build the image that
_could_ run the compiler.

Closes #4076
2022-03-29 10:56:57 -07:00
Joey Parrish f6d5b1025f ci: Fix broken test workflow
There is a typo in the workflow that is causing the workflow to be
rejected by GitHub.

I am not sure how I managed to merge this mistake in the first place.
2022-03-22 09:17:40 -07:00
Joey Parrish a4ddab37d5 ci: Fix appspot deployment failure (#4049)
A couple of steps were in the wrong order.  We must compute tags and
subdomains before the "prep" step, which wipes out .git.
2022-03-21 19:23:51 -07:00
Joey Parrish 1399ec25eb ci: Auto-create release branch for feature release (#4047)
When an automated feature release is created, we should also create
the corresponding release branch.
2022-03-21 19:21:32 -07:00
Joey Parrish 5e2c700bbe ci: Use fetch-depth option to actions/checkout (#4048)
This option will get us a full history upfront, so there is no need
for git fetch.
2022-03-21 15:32:01 -07:00
Joey Parrish 539b5af5f9 ci: Test Docker build (#4043)
This also simplifies the Docker build by removing things related to
"pip", which we do not use.
2022-03-21 15:31:37 -07:00
Joey Parrish 218d05b661 ci: Use simplified expression syntax (#4046)
The "if" fields do not need to use expression syntax (`${{ }}`), and
some conditionals will be easier to read if we omit that.

<!--
Please remember to:

1. Use Conventional Commits syntax (fix: ..., feat: ..., etc.) in commits and
   PR title (https://www.conventionalcommits.org/)
2. Tag any related or fixed issues ("Issue #123", "Closes #420")
3. Sign the Google CLA if you haven't (https://cla.developers.google.com)

You may delete this comment from the PR description.
-->
2022-03-21 15:31:27 -07:00
Joey Parrish b4582fdbaf ci: Fix release PR name and email (#4045)
I had set these backwards (name as email and vice-versa).  Oops!
2022-03-21 15:31:07 -07:00
Joey Parrish 3f838cfd3a ci: Deploy demo to appspot nightly and on releases (#4038)
This imports our appspot code into the repo and updates all of it to
Python 3.
2022-03-21 11:15:40 -07:00
Joey Parrish 847744cede ci: Revert to upstream release-please-action (#4018)
The fix we needed has now been released there.
2022-03-08 16:43:16 -08:00
Joey Parrish 1507b1e844 chore: Update URLs after moving projects (#4008) 2022-03-03 14:34:40 -08:00
Shaka Bot d6bdf9a4c2 chore: Sync common workflows (#4003)
This is an automated sync of common workflows for this organization.
The upstream source is:
https://github.com/shaka-project/shaka-github-tools/commit/b39597e92d44c25ae64ab15a963ec74a4c7269ed

Co-authored-by: Shaka Bot <shaka-bot@users.noreply.github.com>
2022-02-28 21:13:15 -08:00
Shaka Bot 5894b8cd3f chore: Sync common workflows (#3997)
This is an automated sync of common workflows for this organization.
The upstream source is:
https://github.com/joeyparrish/shaka-github-tools/commit/82c303a994400013debc05aa30e988ddbefbbb36

Co-authored-by: Shaka Bot <shaka-bot@users.noreply.github.com>
2022-02-23 17:28:57 -08:00
Joey Parrish bbca5e9773 ci: Rename workflows (#3996)
Now that we are building tools to keep common workflows in sync across
repos, we should use the same names across repos.  This brings Shaka
Player workflow names in line with everything else.

See https://github.com/joeyparrish/shaka-github-tools/pull/5
2022-02-23 08:31:42 -08:00
Joey Parrish cef918d190 ci: Fix several release workflow bugs (#3992)
1. When release-please creates release PRs, it removes the -uncompiled
tag in the version number in lib/player.js.  This adds a step to the
workflow to maintain the player.js version manually.

2. This also adds a new job that tags the master branch after a
release PR is merged.  We maintain the -master tags on the master
branch corresponding to each release so that it is easier to manage
the range of commits for cherry-picks.

3. The "npm ci" step was failing because our package-lock.json was not
compatible with v12 of NodeJS.  This updates our workflow to use v16.
The npm release workflow has now been tested in a fork up until the
publish step.

4. The tagging and GitHub release publication parts of the workflow
were previously failing due to an issue with release-please parsing
the branch name.  This has now been fixed, and is awaiting an upstream
merge.  For now, we can use my forked version.

Closes #3968 (branch parsing failure)
Issue #3969 (npm release is now tested up to the publish step)
Closes #3971 (master branch tags)
Closes #3974 (missing -uncompiled in lib/player.js)
2022-02-22 16:02:25 -08:00
Joey Parrish 3fe8a3b947 ci: Test PRs against release branches, too (#3961) 2022-02-16 15:09:25 -08:00
Joey Parrish 6023878c8d ci: Fix typo in dry_run parameter for sync-labels (#3956) 2022-02-15 17:05:01 -08:00
Joey Parrish b2a8fcdfaa ci: Add missing token parameter to sync-labels workflow (#3954) 2022-02-15 15:01:05 -08:00
Joey Parrish 46bb67bf56 ci: Synchronize issue labels using a central configuration (#3951) 2022-02-15 12:05:16 -08:00
Joey Parrish f04b8558d7 ci: Expand PR title validation triggers (#3946)
Force-pushes from automated PRs (like release-please) do not seem to
trigger any of the normal PR triggers (opened, edited, synchronize).
In fact, even an exhaustive list of types will not work.  So here we
add triggers for reviews, so that the validation will run after
someone approves such a PR.  This is critical since this is a required
status check in most of our repos.  If the workflow doesn't run, the
release PR can't be merged.
2022-02-14 11:20:18 -08:00
Joey Parrish e2ec5ebd52 ci: Add workflow for automated release PRs (#3942)
This includes a temporary config file to bootstrap the workflow for
the master branch, whose commit and branch history is too confusing
for the tool to handle with defaults.  After v3.4.0 is released from
the master branch, these configs can be deleted.
2022-02-11 16:25:44 -08:00
Joey Parrish 4948d938a0 ci: Fix ffmpeg install failure for Linux+Firefox (#3944)
CI for Firefox on Linux is failing because of (I suspect) an outdated
package index in Ubuntu.  This addresses it by updating the package
list before installing ffmpeg.
2022-02-11 15:28:20 -08:00
Joey Parrish 2a8ea8ca2c ci: Migrate update-issues tool to a central location (#3939)
This tool can now be shared among projects
2022-02-10 17:52:44 -08:00
Joey Parrish 746d2536a0 ci: Commit package-lock.json for CI stability (#3938)
This is recommended by npm to allow CI to get stable results when
installing dependencies.
2022-02-10 13:59:46 -08:00
Joey Parrish 4855a50c22 ci: Require PRs in conventional commits syntax (#3937)
This will allow automated generation of changelogs and releases based
on PR titles.
2022-02-10 08:56:03 -08:00
Joey Parrish d1f00b897c ci: Add tests for new update-issues tool (#3900)
This ports over internal tests suggested in #3889.
2022-01-25 10:17:47 -08:00
Joey Parrish 69b276922a ci: Filter out PRs from update-issues tool (#3904)
The tool isn't (yet) intended to maintain PR labels, and the workflow
doesn't have permissions to update PRs.
2022-01-25 09:51:27 -08:00
Joey Parrish a65a1cd416 ci: New workflow to update issues (#3889)
This replaces an internal tool that we have been running on a private
Jenkins server.
2022-01-24 17:41:59 -08:00
theodab 3a22cb3e03 test: Hide passing tests in GitHub actions runs (#3883) 2022-01-19 21:39:19 -08:00
Joey Parrish b82e8ed37e test: Add mac/Safari, mac/Edge to GitHub Actions workflow (#3847) 2022-01-11 13:10:23 -08:00
theodab a071ed20d4 test: Re-enable macOS integration tests for GitHub Actions (#3841) 2022-01-10 15:41:25 -08:00
theodab df399cc74c build: Added Github actions to test PRs (#3833) 2022-01-07 21:09:39 -08:00