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

Refactor CI and Playground build pipelines #909

Merged
merged 1 commit into from
Sep 2, 2022
Merged

Conversation

lopopolo
Copy link
Member

@lopopolo lopopolo commented Sep 2, 2022

This commit separates "build / test" and "publish" into separate pipelines to prepare for uploading to GitHub Pages with GitHub Actions:

  • A WebApp build CI step is added which compiles the Rust code to Wasm and builds the TypeScript code into a bundle. This step never uploads to GitHub pages and runs on PRs and merges to trunk.
  • A "Publish" workflow is added which builds and uploads to GitHub Pages. This workflow only runs on merges to trunk. A concurrency group called "pages" is added with canceling of in flight builds if a newer commit is pushed to trunk. The publish workflow is no longer published on a weekly cronjob.

This commit also contains some cleanups:

This commit separates "build / test" and "publish" into separate
pipelines to prepare for uploading to GitHub Pages with GitHub Actions:

- A WebApp build CI step is added which compiles the Rust code to Wasm
  and builds the TypeScript code into a bundle. This step never uploads
  to GitHub pages and runs on PRs and merges to trunk.
- A "Publish" workflow is added which builds and uploads to GitHub
  Pages. This workflow only runs on merges to trunk. A concurrency group
  called "pages" is added with canceling of in flight builds if a newer
  commit is pushed to trunk. The publish workflow is no longer published
  on a weekly cronjob.

This commit also contains some cleanups:

- `actions-rs` GitHub Actions are replaced with bare calls to rustup and
  clippy, addressing artichoke/project-infrastructure#265 for the
  playground.
- Caching is removed from `setup-emsdk` action due to an upstream bug:
  mymindstorm/setup-emsdk#20.
- `ruby/setup-ruby` is removed from CI jobs where it is not required.
- The `CARGO_NET_GIT_FETCH_WITH_CLI` env variable is set, porting a
  change from `strftime-ruby`. This should speed up build times when the
  Artichoke git repository is not cached.
@lopopolo lopopolo added A-build Area: CI build infrastructure. A-release Area: crates.io and npmjs.org releases and version bumps. labels Sep 2, 2022
@lopopolo lopopolo merged commit 00885d6 into trunk Sep 2, 2022
@lopopolo lopopolo deleted the lopopolo/ci-changes branch September 2, 2022 17:08
lopopolo added a commit that referenced this pull request Sep 2, 2022
Fix a regression introduced in #909. These permissions from the GitHub Actions
based publishing workflow do not work with peaceiris/actions-gh-pages@v3.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-build Area: CI build infrastructure. A-release Area: crates.io and npmjs.org releases and version bumps.
Development

Successfully merging this pull request may close these issues.

1 participant