-
Notifications
You must be signed in to change notification settings - Fork 626
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
Convert the CircleCI workflow to a GitHub Actions workflow #1221
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this! Could you take a look at that publish.sh
(maybe copy a port of it into .github
) as well, and dry-run test the publishing workflow?
- run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ~/.npmrc | ||
- name: Infer dist-tag and run npm run publish | ||
if: steps.check_tag.outputs.valid == 'true' | ||
run: "./.circleci/scripts/publish.sh" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This script relies on $CIRCLE_TAG
, so I think it'll need porting unless GA populates that already.
metro/.circleci/scripts/publish.sh
Lines 7 to 8 in 59a0e36
# Reduce a semver tag name to a Metro's release branch naming convention, eg v0.1.2-alpha.3 -> 0.1.x | |
RELEASE_BRANCH=$(echo "$CIRCLE_TAG" | awk -F. '{print substr($1, 2) "." $2 ".x"}') |
node-version: 18.12 | ||
cache: yarn | ||
- name: Install Dependencies | ||
run: npm install --force @babel/core |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to be using Yarn to install dependencies so that yarn.lock
is respected - that's the reason for the test failure you're seeing.
I'm not sure what the significance of @babel/core
is here (and similarly --save-dev jest
in jobs below)? yarn --frozen-lockfile --non-interactive --ignore-scripts
is the corresponding line in our CircleCI config.yml
, and we use that for all jobs:
Line 35 in 59a0e36
command: yarn --frozen-lockfile --non-interactive --ignore-scripts |
@robhogan can you just update this PR directly to do what you're asking? Then merge it? |
Summary
This pull request converts the CircleCI workflows to GitHub actions workflows. Github Actions Importer was used to convert the workflows initially, then I edited them manually to correct errors in translation.
Issues
Full Error
How did you test this change?
I tested these changes in a forked repo.
https://fburl.com/workplace/f6mz6tmw