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

Remove dependencies on actions-rs GitHub Actions #265

Closed
14 tasks done
lopopolo opened this issue Apr 3, 2022 · 12 comments
Closed
14 tasks done

Remove dependencies on actions-rs GitHub Actions #265

lopopolo opened this issue Apr 3, 2022 · 12 comments
Assignees
Labels
A-deps Area: Source and library dependencies. A-github-actions Area: GitHub Actions workflows and automation.

Comments

@lopopolo
Copy link
Member

lopopolo commented Apr 3, 2022

It appears that the GitHub Actions in the actions-rs organization may be unmaintained:

Replace these actions in the CI workflow with raw shell invocations of rustup and cargo.

See:

Remaining repositories:

@lopopolo lopopolo added the A-deps Area: Source and library dependencies. label Apr 3, 2022
@lopopolo lopopolo self-assigned this Apr 3, 2022
lopopolo added a commit to artichoke/playground that referenced this issue 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:

- `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 added a commit to artichoke/playground that referenced this issue 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:

- `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 the A-github-actions Area: GitHub Actions workflows and automation. label Sep 2, 2022
@lopopolo
Copy link
Member Author

https://github.com/artichoke/setup-rust exists now which should make things a bit easier. Once these actions are used, they can be bulk updated across all repositories.

@lopopolo
Copy link
Member Author

lopopolo commented Oct 16, 2022

setup-rust needs actions for:

Audit, code coverage, and rustdoc are managed by terraform.

@lopopolo
Copy link
Member Author

lopopolo commented Nov 6, 2022

All rustdoc workflows (except artichoke/artichoke) are updated to use artichoke/setup-rust/rustdoc:

lopopolo added a commit to artichoke/artichoke that referenced this issue Dec 2, 2022
- Build docs with no default features.
- Remove cache which will never be valid due to nightly compiler.
- Install and setup Rust toolchain using artichoke/setup-rust/rustdoc.

See:

- artichoke/project-infrastructure#265
- #1813
- artichoke/project-infrastructure#396
@lopopolo
Copy link
Member Author

lopopolo commented Dec 2, 2022

aritchoke/artichoke rustdoc workflow is done:

lopopolo added a commit to artichoke/artichoke that referenced this issue Dec 7, 2022
This removes all direct uses of Swatinem/rust-cache, which obsoletes #2273 and
should remove several uses of the cache which will relieve thrash against the 10GB
limit for GitHub Actions caches.

Add a missing lint step to check formatting in the fuzz workspace.

Separate the minimum versions lockfile generation and cargo check step for both
root and spec-runner workspaces.

See:

- #1813
- artichoke/project-infrastructure#265
@lopopolo
Copy link
Member Author

All Rust audit jobs use artichoke/setup-rust/audit:

@lopopolo
Copy link
Member Author

Another set of motivators for these changes:

  • the node runtime actions-rs/toolchain depends on is being EOLed
  • the versions of the GitHub Actions SDK actions-rs/toolchain depends on uses ::set-output control sequences which are deprecated and pending deactivation by GitHub.

Sample warnings in a currently not migrated repo:

Screenshot 2022-12-21 at 11 11 09 AM

@lopopolo
Copy link
Member Author

code coverage workflows are updated to use artichoke/setup-rust/code-coverage:

@lopopolo
Copy link
Member Author

lopopolo commented Jan 2, 2023

miri setup action is needed for intaglio and cactusref.

lopopolo added a commit to artichoke/qed that referenced this issue Apr 11, 2023
These actions are unmaintained and use deprecated GitHub Actions technologies.

See: artichoke/project-infrastructure#265
lopopolo added a commit to artichoke/raw-parts that referenced this issue Apr 11, 2023
These actions are unmaintained and use deprecated GitHub Actions technologies.

See: artichoke/project-infrastructure#265
lopopolo added a commit to artichoke/ruby-file-expand-path that referenced this issue Apr 11, 2023
These actions are unmaintained and use deprecated GitHub Actions technologies.

See: artichoke/project-infrastructure#265

Also remove nightly requirement for lint and format build job.
lopopolo added a commit to artichoke/posix-space that referenced this issue Apr 11, 2023
These actions are unmaintained and use deprecated GitHub Actions technologies.

See: artichoke/project-infrastructure#265
lopopolo added a commit to artichoke/rand_mt that referenced this issue Apr 11, 2023
These actions are unmaintained and use deprecated GitHub Actions technologies.

See: artichoke/project-infrastructure#265
lopopolo added a commit to artichoke/focaccia that referenced this issue Apr 11, 2023
These actions are unmaintained and use deprecated GitHub Actions technologies.

See: artichoke/project-infrastructure#265
lopopolo added a commit to artichoke/strftime-ruby that referenced this issue Apr 11, 2023
These actions are unmaintained and use deprecated GitHub Actions technologies.

See: artichoke/project-infrastructure#265
@lopopolo
Copy link
Member Author

excluding forks, there are only two remaining uses of actions-rs actions, both of which are used to setup miri. Blocked on:

@lopopolo lopopolo added the S-blocked Status: Marked as blocked ❌ on something else such as other implementation work. label Apr 11, 2023
lopopolo added a commit to artichoke/setup-rust that referenced this issue Apr 11, 2023
@lopopolo lopopolo removed the S-blocked Status: Marked as blocked ❌ on something else such as other implementation work. label Apr 11, 2023
@lopopolo
Copy link
Member Author

Setup miri action is merged and released:

lopopolo added a commit to artichoke/cactusref that referenced this issue Apr 11, 2023
These actions are unmaintained and use deprecated GitHub Actions technologies.

See: artichoke/project-infrastructure#265
lopopolo added a commit to artichoke/intaglio that referenced this issue Apr 11, 2023
These actions are unmaintained and use deprecated GitHub Actions technologies.

See: artichoke/project-infrastructure#265
@lopopolo
Copy link
Member Author

yay! this is finally done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-deps Area: Source and library dependencies. A-github-actions Area: GitHub Actions workflows and automation.
Development

No branches or pull requests

1 participant