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

feat: Move from circleci to github actions #504

Closed
wants to merge 12 commits into from
Closed

Conversation

uxkjaer
Copy link
Member

@uxkjaer uxkjaer commented Oct 6, 2022

Todo:

  • Update readme to allow people to use act
  • remove circleci dependency
  • fix node18 flow with the openssl flag by removing it after ci
  • reenable integration tests to run cross platform (runs-on: [ubuntu-latest, windows-latest, macos-latest])

@uxkjaer uxkjaer marked this pull request as ready for review October 18, 2022 12:34
@uxkjaer uxkjaer requested a review from bd82 October 18, 2022 12:34
@uxkjaer
Copy link
Member Author

uxkjaer commented Oct 18, 2022

fixes #342, #279

Copy link
Contributor

@petermuessig petermuessig left a comment

Choose a reason for hiding this comment

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

Small improvements needed, but overall looks GTM!

on:

pull_request:
branches: [ "master" ]
Copy link
Contributor

Choose a reason for hiding this comment

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

After this change is merged we could also go ahead and rename master to main!


on:

push:
Copy link
Contributor

Choose a reason for hiding this comment

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

sudo apt-get install libxss1
yarn --pure-lockfile
yarn run ci
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
Copy link
Contributor

Choose a reason for hiding this comment

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

TODO: @petermuessig to provide the NPM Token of a UI5 bot user

with:
path: ./packages/vscode-ui5-language-assistant
- name: "Publish Release on GitHub"
uses: "marvinpinto/action-automatic-releases@latest"
Copy link
Contributor

Choose a reason for hiding this comment

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

maybe we can freeze the version for the action instead of using latest

@@ -8841,11 +8841,6 @@ tr46@^1.0.1:
dependencies:
punycode "^2.1.0"

Copy link
Member

Choose a reason for hiding this comment

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

why did yarn.lock change if no changes i package.json?

// extensionDevelopmentPath,
// extensionTestsPath: path,
// });
// console.warn(
Copy link
Member

@bd82 bd82 Oct 30, 2022

Choose a reason for hiding this comment

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

please delete no longer relevant code, do not keep it in "commented out" mode...

### Release Process

Performing a release requires push permissions to the repository.

- Ensure you are on `master` branch and synced with origin.
- `yarn run release:version`
- Follow the lerna CLI instructions.
- Track the new `/v\d+.\d+.\d+/` tag build on circle-ci.
Copy link
Member

Choose a reason for hiding this comment

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

should not this step be replaced (instead of removed) with tracking the build of the relevant github action?

strategy:
matrix:
node-version: [14.x, 16.x, 18.x]
os: [macos-latest, ubuntu-latest, windows-latest]
Copy link
Member

Choose a reason for hiding this comment

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

I think this matrix is too large considering the free tier of github actions has
strict limits on max parallel jobs and this limits are counted towards the whole SAP org afaik

with:
node-version: ${{ matrix.node-version }}
cache: 'yarn'
- name: Setup yarn
Copy link
Member

Choose a reason for hiding this comment

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

afaik setup-node action supports yarn so no need for a separate yarn install step

run: |
npm install -g yarn
yarn
- name: Build Node v18 - Linux
Copy link
Member

Choose a reason for hiding this comment

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

not sure if running on linux/mac/windows provides enough value to be worth the added complexity here...

if: ${{ (matrix.node-version != '18.x') && (runner.os != 'Linux') }}
run: yarn run ci

compliance:
Copy link
Member

@bd82 bd82 Oct 30, 2022

Choose a reason for hiding this comment

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

does not this mean the compliance step would run for each "element" of the build matrix? This seems like a waste, I would recommand to only run it once in a separate github actions flow.

@@ -0,0 +1,61 @@
name: UI5-Language-Assistant
Copy link
Member

Choose a reason for hiding this comment

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

should not the name describe the current flow?

@@ -0,0 +1,80 @@
name: UI5-Language-Assistant
Copy link
Member

Choose a reason for hiding this comment

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

should not the name describe the current flow?

with:
node-version: 16.x
cache: 'yarn'
- name: Setup yarn
Copy link
Member

Choose a reason for hiding this comment

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

uncertain if a setup step is needed when using setup-node

prerelease: false
title: "v${{ steps.package-version.outputs.current-version}}"
files: |
${{steps.download.outputs.download-path}}/*
Copy link
Member

Choose a reason for hiding this comment

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

why is this step almost x2 the size of a similar publish/ghr flow?

What advantages does this implementation provide over the simpler one?

@bd82
Copy link
Member

bd82 commented Oct 30, 2022

I suspect the actions should be simplified.

  • smaller matrix.
  • remove redundant steps
  • remove complexity around specific OS versions.
  • separate the concern of bringing back e2e tests and the transition to github actions.
  • ...

Do you see anything you can use as a template in these workflows?

@cla-assistant
Copy link

cla-assistant bot commented Oct 18, 2023

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

2 similar comments
@cla-assistant
Copy link

cla-assistant bot commented Oct 18, 2023

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@cla-assistant
Copy link

cla-assistant bot commented Oct 18, 2023

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@marufrasully
Copy link
Contributor

@uxkjaer we can close this PR. The repo use already github action. Thanks.

@uxkjaer uxkjaer closed this Dec 8, 2023
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.

E2E VSCode tests are skipped/disabled Incorrect coverage configuration for the VSCode Ext package
4 participants