Nightly build #550
This file contains hidden or 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: Nightly build | |
| on: | |
| schedule: | |
| - cron: '0 0 * * 1-6' | |
| workflow_dispatch: | |
| inputs: {} | |
| permissions: | |
| contents: write | |
| defaults: | |
| run: | |
| shell: bash | |
| jobs: | |
| test-e2e: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: Chromium | |
| project: chromium | |
| target: chrome | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 15 | |
| name: E2E Tests - ${{ matrix.name }} | |
| runs-on: ${{ matrix.runs-on }} | |
| environment: test | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Environment setup | |
| uses: ./.github/actions/setup | |
| - name: Build | |
| run: pnpm build ${{ matrix.target }} --channel=nightly --no-typecheck | |
| - name: Install Playwright Browsers | |
| run: pnpm exec playwright install chromium ${{ matrix.project }} --with-deps | |
| - name: Run Playwright tests | |
| run: pnpm test:e2e:${{ matrix.project }} | |
| env: | |
| PLAYWRIGHT_PROJECT: ${{ matrix.project }} | |
| TEST_WALLET_USERNAME: ${{ vars.E2E_WALLET_USERNAME }} | |
| TEST_WALLET_PASSWORD: ${{ secrets.E2E_WALLET_PASSWORD }} | |
| TEST_WALLET_ADDRESS_URL: ${{ vars.E2E_CONNECT_WALLET_ADDRESS_URL }} | |
| TEST_WALLET_KEY_ID: ${{ vars.E2E_CONNECT_KEY_ID }} | |
| TEST_WALLET_PUBLIC_KEY: ${{ secrets.E2E_CONNECT_PUBLIC_KEY }} | |
| TEST_WALLET_PRIVATE_KEY: ${{ secrets.E2E_CONNECT_PRIVATE_KEY }} | |
| TEST_WALLET_ADDRESS_URL_E: ${{ vars.E2E_TEST_WALLET_ADDRESS_URL_E }} | |
| TEST_WALLET_ADDRESS_URL_W: ${{ vars.E2E_TEST_WALLET_ADDRESS_URL_W }} | |
| TEST_WALLET_ADDRESS_URL_S: ${{ vars.E2E_TEST_WALLET_ADDRESS_URL_S }} | |
| FYNBOS_WALLET_ADDRESS_URL: ${{ vars.E2E_FYNBOS_WALLET_ADDRESS_URL }} | |
| FYNBOS_USERNAME: ${{ vars.E2E_FYNBOS_USERNAME }} | |
| FYNBOS_PASSWORD: ${{ secrets.E2E_FYNBOS_PASSWORD }} | |
| FYNBOS_TOTP_DETAILS: ${{ secrets.E2E_FYNBOS_TOTP_DETAILS }} | |
| CHIMONEY_WALLET_ORIGIN: ${{ vars.E2E_CHIMONEY_WALLET_URL_ORIGIN }} | |
| CHIMONEY_WALLET_ADDRESS_URL: ${{ vars.E2E_CHIMONEY_WALLET_ADDRESS_URL }} | |
| CHIMONEY_USERNAME: ${{ vars.E2E_CHIMONEY_USERNAME }} | |
| CHIMONEY_PASSWORD: ${{ secrets.E2E_CHIMONEY_PASSWORD }} | |
| CHIMONEY_APP_WALLET_ADDRESS_URL: ${{ vars.E2E_CHIMONEY_APP_WALLET_ADDRESS_URL }} | |
| CHIMONEY_APP_USERNAME: ${{ vars.E2E_CHIMONEY_APP_USERNAME }} | |
| CHIMONEY_APP_PASSWORD: ${{ secrets.E2E_CHIMONEY_APP_PASSWORD }} | |
| MMAON_WALLET_ORIGIN: ${{ vars.E2E_MMAON_WALLET_URL_ORIGIN }} | |
| MMAON_WALLET_ADDRESS_URL: ${{ vars.E2E_MMAON_WALLET_ADDRESS_URL }} | |
| MMAON_USERNAME: ${{ vars.E2E_MMAON_USERNAME }} | |
| MMAON_PASSWORD: ${{ secrets.E2E_MMAON_PASSWORD }} | |
| INTERLEDGER_CARDS_WALLET_ADDRESS_URL: ${{ vars.E2E_INTERLEDGER_CARDS_WALLET_ADDRESS_URL }} | |
| INTERLEDGER_CARDS_ILP_DEV_WALLET_ADDRESS_URL: ${{ vars.E2E_INTERLEDGER_CARDS_ILP_DEV_WALLET_ADDRESS_URL }} | |
| INTERLEDGER_CARDS_USERNAME: ${{ secrets.E2E_INTERLEDGER_CARDS_USERNAME }} | |
| INTERLEDGER_CARDS_PASSWORD: ${{ secrets.E2E_INTERLEDGER_CARDS_PASSWORD }} | |
| - name: Encrypt report | |
| if: always() | |
| shell: bash | |
| working-directory: tests/e2e/playwright-report | |
| run: | | |
| zip -r -P ${{ secrets.E2E_PLAYWRIGHT_REPORT_PASSWORD }} ../playwright-report.zip * | |
| - name: Upload report | |
| uses: actions/upload-artifact@v7 | |
| if: always() | |
| with: | |
| name: playwright-report-${{ matrix.project }} | |
| path: tests/e2e/playwright-report.zip | |
| retention-days: 3 | |
| build-nightly: | |
| name: Create Release | |
| runs-on: ubuntu-24.04 | |
| needs: test-e2e | |
| if: ${{ always() }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Environment setup | |
| uses: ./.github/actions/setup | |
| - name: Build | |
| run: pnpm build --channel=nightly --no-typecheck | |
| - name: Get built version | |
| uses: actions/github-script@v8 | |
| id: version | |
| with: | |
| script: | | |
| const { default: script } = await import('${{ github.workspace }}/.github/actions/get-built-version.ts') | |
| await script({ github, context, core }) | |
| - name: Delete existing release | |
| run: gh release delete nightly --cleanup-tag --yes | |
| continue-on-error: true | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| - name: Create GH Release | |
| uses: softprops/action-gh-release@v2.5.0 | |
| with: | |
| files: | | |
| dist/*.zip | |
| tag_name: 'nightly' | |
| name: Nightly ${{ steps.version.outputs.version }} | |
| body: | | |
| > [!warning] | |
| > The Nightly build is for adventurous folks. It's updated daily with less-tested features and improvements. | |
| prerelease: true | |
| - name: Ensure release is published | |
| run: gh release edit nightly --draft=false | |
| env: | |
| GH_TOKEN: ${{ github.token }} |