[Tech] Add cla doc and github action (#929) #3313
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
pull_request: | |
branches: [main] | |
push: | |
branches: [main] | |
workflow_dispatch: | |
env: | |
GITHUB_TOKEN: ${{ secrets.WORKFLOW_TOKEN }} | |
GH_TOKEN: ${{ secrets.WORKFLOW_TOKEN }} | |
RUDDERSTACK_CLIENT_ID: ${{ secrets.RUDDERSTACK_CLIENT_ID }} | |
jobs: | |
build_windows: | |
runs-on: windows-latest | |
concurrency: | |
group: build-windows-${{ github.ref }} | |
cancel-in-progress: true | |
steps: | |
- name: Checkout repository. | |
uses: actions/checkout@v4 | |
- name: Setup NodeJS | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '20' | |
cache: 'yarn' | |
- name: Reconfigure git to use HTTP authentication | |
run: > | |
git config --global url."https://github.com/".insteadOf | |
ssh://git@github.com/ | |
- name: Authenticate with private NPM package | |
run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc | |
- name: Install modules. | |
run: yarn install --network-timeout 600000 && yarn allow-scripts | |
- name: setup env production file | |
run: echo "VITE_LD_ENVIRONMENT_ID=${{ secrets.VITE_LD_ENVIRONMENT_ID_TEST }}" > .env | |
- name: Build artifacts. | |
run: yarn dist:win | |
- name: Upload EXE. | |
uses: actions/upload-artifact@v3 | |
with: | |
name: win-setup | |
path: dist/HyperPlay*.exe | |
retention-days: 7 | |
build_linux: | |
runs-on: ubuntu-latest | |
concurrency: | |
group: build-linux-${{ github.ref }} | |
cancel-in-progress: true | |
steps: | |
- name: Install libarchive-tools for pacman build # Related https://github.com/electron-userland/electron-builder/issues/4181 | |
run: sudo apt-get install libarchive-tools | |
- name: Checkout repository. | |
uses: actions/checkout@v4 | |
- name: Setup NodeJS | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '20' | |
cache: 'yarn' | |
- name: Reconfigure git to use HTTP authentication | |
run: > | |
git config --global url."https://github.com/".insteadOf | |
ssh://git@github.com/ | |
- name: Authenticate with private NPM package | |
run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc | |
- name: Install modules. | |
run: yarn setup | |
- name: setup env production file | |
run: echo "VITE_LD_ENVIRONMENT_ID=${{ secrets.VITE_LD_ENVIRONMENT_ID_TEST }}" > .env | |
- name: Build deb artifact | |
run: yarn dist:linux:ci:deb | |
- name: Build rpm artifact | |
run: yarn dist:linux:ci:rpm | |
- name: Build pacman artifact | |
run: yarn dist:linux:ci:pacman | |
build_mac_x64: | |
runs-on: macos-13 | |
concurrency: | |
group: build-mac-x64-${{ github.ref }} | |
cancel-in-progress: true | |
steps: | |
- name: Checkout repository. | |
uses: actions/checkout@v4 | |
- name: Setup NodeJS | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '20' | |
cache: 'yarn' | |
- name: Reconfigure git to use HTTP authentication | |
run: > | |
git config --global url."https://github.com/".insteadOf | |
ssh://git@github.com/ | |
- name: Authenticate with private NPM package | |
run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc | |
- name: Install modules. | |
run: yarn setup | |
- name: setup env production file | |
run: echo "VITE_LD_ENVIRONMENT_ID=${{ secrets.VITE_LD_ENVIRONMENT_ID_TEST }}" > .env | |
- name: Build artifacts. | |
run: yarn dist:mac:x64 | |
env: | |
NOTARIZE: false | |
- name: Upload Intel build. | |
uses: actions/upload-artifact@v3 | |
with: | |
name: mac-dmg-x64 | |
path: dist/HyperPlay*x64.dmg | |
retention-days: 7 |