Update o1js version #3
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 o1js | |
on: | |
push: | |
branches: | |
- main | |
- berkeley | |
- develop | |
pull_request: | |
workflow_dispatch: {} | |
jobs: | |
Build-And-Test-Server: | |
timeout-minutes: 210 | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
test_type: | |
[ | |
'Simple integration tests', | |
'DEX integration tests', | |
'DEX integration test with proofs', | |
'Voting integration tests', | |
'Unit tests', | |
'Verification Key Regression Check', | |
'CommonJS test', | |
] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18' | |
- name: Build o1js and execute tests | |
env: | |
TEST_TYPE: ${{ matrix.test_type }} | |
continue-on-error: false | |
run: | | |
git submodule update --init --recursive | |
npm ci | |
npm run build | |
touch profiling.md | |
sh run-ci-tests.sh | |
cat profiling.md >> $GITHUB_STEP_SUMMARY | |
Build-And-Test-Web: | |
timeout-minutes: 90 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18' | |
- name: Install Node dependencies | |
run: | | |
git submodule update --init --recursive | |
npm ci | |
- name: Install Playwright browsers | |
run: npm run e2e:install | |
- name: Build o1js and prepare the web server | |
run: | | |
npm run build:web | |
npm run e2e:prepare-server | |
- name: Execute E2E tests | |
run: npm run test:e2e | |
- name: Upload E2E test artifacts | |
uses: actions/upload-artifact@v3 | |
continue-on-error: true | |
if: always() | |
with: | |
if-no-files-found: ignore | |
name: e2e-tests-report | |
path: tests/report/ | |
retention-days: 30 | |
Release-on-NPM: | |
timeout-minutes: 180 | |
runs-on: ubuntu-latest | |
needs: [Build-And-Test-Server, Build-And-Test-Web] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18' | |
- name: Build o1js | |
run: | | |
git submodule update --init --recursive | |
npm ci | |
npm run build | |
- name: Publish to NPM if version has changed | |
uses: JS-DevTools/npm-publish@v1 | |
if: github.ref == 'refs/heads/main' | |
with: | |
token: ${{ secrets.NPM_TOKEN }} | |
env: | |
INPUT_TOKEN: ${{ secrets.NPM_TOKEN }} | |
Release-mina-signer-on-NPM: | |
timeout-minutes: 180 | |
runs-on: ubuntu-latest | |
needs: [Build-And-Test-Server, Build-And-Test-Web] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18' | |
- name: Build mina-signer | |
run: | | |
git submodule update --init --recursive | |
npm ci | |
cd src/mina-signer | |
npm ci | |
npm run prepublishOnly | |
- name: Publish to NPM if version has changed | |
uses: JS-DevTools/npm-publish@v1 | |
if: github.ref == 'refs/heads/main' | |
with: | |
token: ${{ secrets.NPM_TOKEN }} | |
package: './src/mina-signer/package.json' | |
env: | |
INPUT_TOKEN: ${{ secrets.NPM_TOKEN }} |