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

Nightly cronjob CI #2836

Merged
merged 11 commits into from
Nov 22, 2022
Merged

Nightly cronjob CI #2836

merged 11 commits into from
Nov 22, 2022

Conversation

Manishearth
Copy link
Member

@Manishearth Manishearth commented Nov 21, 2022

Fixes #2718

This is reviewable now, but please do not merge yet, since for the purposes of testing I've made it so that the nightly CI is run for the pull_request task as well.

This adds a cronjob (and a manually-triggerable) CI task that runs everything1 under the latest nightly. It does this by conditionally setting env vars, so future changes to CI will automatically inherit this as long as new jobs use the same boilerplate. There are also env vars that allow us to skip or fixup tests that are testing things on specific compiler versions.

Footnotes

  1. Except for the clippy build and the rustdoc-json using stuff

@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • .github/workflows/build-test.yml is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • .github/workflows/build-test.yml is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • .github/workflows/build-test.yml is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • .github/workflows/build-test.yml is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • .github/workflows/build-test.yml is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • .github/workflows/build-test.yml is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • .github/workflows/build-test.yml is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • .github/workflows/build-test.yml is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • .github/workflows/build-test.yml is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • .github/workflows/build-test.yml is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • .github/workflows/build-test.yml is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • .github/workflows/build-test.yml is different
  • Makefile.toml is now changed in the branch
  • tools/scripts/ffi.toml is now changed in the branch

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • .github/workflows/build-test.yml is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

Makefile.toml Outdated
Comment on lines 189 to 200
echo ${env_file}

needs_run = exec cargo make --loglevel error check-needs-force-nightly-ci

echo ${needs_run}

if eq "${needs_run}" "yes"
echo "Setting up CI environment for forced-nightly Rust build"
appendfile ${env_file} "ICU4X_NIGHTLY_TOOLCHAIN=nightly\n"
appendfile ${env_file} "INSTALLED_NIGHTLY_VERSION=nightly\n"
appendfile ${env_file} "ICU4X_BUILDING_WITH_FORCED_NIGHTLY=1\n"
appendfile ${env_file} "RUSTDOCFLAGS=--cfg ICU4X_BUILDING_WITH_FORCED_NIGHTLY\n"
exec rustup override set nightly
else
echo "forced-nightly environment not required"
end
Copy link
Contributor

Choose a reason for hiding this comment

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

question: does this file whose path is in GITHUB_ENV persist across the workflow?

I wonder if we can run the boilerplate step in one job in order to initialize the values across jobs. Then have all other jobs depend on the initialization job.

Copy link
Member Author

Choose a reason for hiding this comment

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

I don't think so.

You should experiment with this later, I don't want to spend too much time cleaning this up. This is far from the only instance of boilerplate we have.

@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • Makefile.toml is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • .github/workflows/build-test.yml is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • .github/workflows/build-test.yml is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • Makefile.toml is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • .github/workflows/build-test.yml is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@Manishearth
Copy link
Member Author

@echeran I think it's ready for review again

To land, I need to disable the wearos task on nightly, or alternatively wait a couple days for the cortex fix to land upstream, and then I need to remove pull_request from the conditions.

@Manishearth
Copy link
Member Author

Once this lands I also want to set up a notification for build failures so I can keep it working

echeran
echeran previously approved these changes Nov 22, 2022
Copy link
Contributor

@echeran echeran left a comment

Choose a reason for hiding this comment

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

LGTM after a valiant slog through CI. Looking forward to seeing it in action. I'll let you carefully decide when the right time to try to merge this should be.

@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • .github/workflows/build-test.yml is different
  • Makefile.toml is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@Manishearth
Copy link
Member Author

I decided to let this CI be failing for the first few rounds. The upstream Rust fix has already landed, so it'll be in by the next nightly.

I haven't yet hooked up notifications or anything so it doesn't matter.

@Manishearth Manishearth marked this pull request as ready for review November 22, 2022 17:20
@Manishearth Manishearth requested review from sffc, zbraniecki, nciric and a team as code owners November 22, 2022 17:20
@Manishearth Manishearth merged commit f23e4f9 into unicode-org:main Nov 22, 2022
@Manishearth Manishearth deleted the cronjob branch November 22, 2022 18:23
@sffc sffc removed their request for review December 5, 2022 11:11
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.

Add nightly/cronjob CI
2 participants