OpenAPI and improvements #3843
Workflow file for this run
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: Check PR | |
| on: | |
| pull_request: | |
| concurrency: | |
| group: check-pr-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| check-pr: | |
| name: Check PR | |
| runs-on: ubuntu-latest | |
| outputs: | |
| lang-changed: ${{ steps.filter.outputs.lang == 'true' }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| cache: 'sbt' | |
| gpg-private-key: ${{ secrets.OSSRH_GPG_KEY }} | |
| gpg-passphrase: ${{ secrets.OSSRH_GPG_PASSPHRASE }} | |
| - uses: sbt/setup-sbt@v1 | |
| - name: Check PR | |
| run: sbt -J-Xlog:gc*=debug:file=./gc.log --batch checkPR | |
| #- if: always() | |
| # name: Fix test names and durations for Qase | |
| # run: | | |
| # find node/tests/target/test-reports -name "*.xml" -exec sed -E -i \ | |
| # -e 's/time="(0(\.0+)?|-0\.[0-9]+)"/time="0.001"/g' \ | |
| # -e 's/name="([^"]*)(NODE-[0-9]+ )([^"]*)"/name="\2 \1\3"/g' {} + | |
| # Temporarily disabled because of 402 Payment Required | |
| # - uses: qase-tms/gh-actions/run-create@v1 | |
| # if: always() | |
| # id: qase-run-create | |
| # with: | |
| # token: ${{ secrets.QASE_API_TOKEN }} | |
| # project: NODE | |
| # title: Check PR ${{ github.run_id }} — ${{ github.head_ref || github.ref_name }} | |
| # description: | | |
| # PR [#${{ github.event.number }}](https://github.com/wavesplatform/Waves/pulls/${{ github.event.number }}) — Run [#${{ github.run_number }}](https://github.com/wavesplatform/Waves/actions/runs/${{ github.run_id }}) | |
| # - uses: qase-tms/gh-actions/report@v1 | |
| # if: always() && steps.qase-run-create.outcome == 'success' | |
| # with: | |
| # token: ${{ secrets.QASE_API_TOKEN }} | |
| # project: NODE | |
| # id: ${{ steps.qase-run-create.outputs.id }} | |
| # format: junit | |
| # path: node/tests/target/test-reports | |
| # batch: 100 | |
| # - uses: qase-tms/gh-actions/run-complete@v1 | |
| # if: always() && steps.qase-run-create.outcome == 'success' | |
| # with: | |
| # token: ${{ secrets.QASE_API_TOKEN }} | |
| # project: NODE | |
| # id: ${{ steps.qase-run-create.outputs.id }} | |
| - uses: scacap/action-surefire-report@5609ce4db72c09db044803b344a8968fd1f315da | |
| if: always() | |
| with: | |
| report_paths: '**/target/test-reports/*.xml' | |
| create_check: false | |
| check_name: 'Check PR' | |
| - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 | |
| id: filter | |
| with: | |
| filters: | | |
| lang: | |
| - 'lang/**' | |
| - 'build.sbt' | |
| - 'project/*' | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: waves-fat-jar | |
| path: node/target/waves-all-*.jar | |
| - uses: actions/upload-artifact@v4 | |
| if: steps.filter.outputs.lang == 'true' | |
| with: | |
| name: file-compiler | |
| path: lang/jvm/target/file-compiler.jar | |
| - name: Save debug data | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| if-no-files-found: ignore | |
| name: debug-data | |
| path: | | |
| gc.log* | |
| hs*.log | |
| core* | |
| run-smoke-tests: | |
| needs: check-pr | |
| name: Run Smoke Tests ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [macos-15-intel, macos-15, ubuntu-24.04, ubuntu-24.04-arm, windows-2022] | |
| steps: | |
| - uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| - uses: actions/download-artifact@v7 | |
| with: | |
| name: waves-fat-jar | |
| - run: java -cp '*' com.wavesplatform.utils.UtilApp smoke | |
| compile-contracts: | |
| name: Compile ${{ matrix.repo }} | |
| runs-on: ubuntu-latest | |
| needs: check-pr | |
| if: needs.check-pr.outputs.lang-changed == 'true' | |
| strategy: | |
| matrix: | |
| repo: | |
| - waves-exchange/neutrino-contract | |
| - waves-exchange/contracts | |
| - waves-ducks-core/wavesducks-public | |
| - swopfi/swopfi-smart-contracts | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| repository: ${{ matrix.repo }} | |
| - uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| - uses: actions/download-artifact@v7 | |
| with: | |
| name: file-compiler | |
| - run: find -name "*.ride" -type f -exec java -jar file-compiler.jar {} +; | |
| run-integration-tests: | |
| name: Run integration tests | |
| needs: check-pr | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| cache: 'sbt' | |
| - uses: sbt/setup-sbt@v1 | |
| - name: Run Integration Tests | |
| run: sbt --batch "node-it/docker;node-it/test" | |
| env: | |
| RUN_ID: ${{ github.head_ref }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| - uses: scacap/action-surefire-report@5609ce4db72c09db044803b344a8968fd1f315da | |
| if: always() | |
| with: | |
| report_paths: '**/target/test-reports/*.xml' | |
| create_check: false | |
| check_name: 'Run integration tests' | |
| - name: Upload Logs | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| if-no-files-found: ignore | |
| name: test-logs | |
| path: | | |
| node-it/target/logs/*/ | |
| publish-snapshots: | |
| name: Publish snapshot packages | |
| needs: check-pr | |
| runs-on: ubuntu-latest | |
| if: contains(github.event.pull_request.labels.*.name, 'publish-snapshots') | |
| env: | |
| PR_NUMBER: ${{ github.event.number }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| cache: 'sbt' | |
| gpg-private-key: ${{ secrets.OSSRH_GPG_KEY }} | |
| gpg-passphrase: ${{ secrets.OSSRH_GPG_PASSPHRASE }} | |
| - uses: sbt/setup-sbt@v1 | |
| - run: sbt -Dproject.version=$(awk -F '[".]' '{print $3"."$4"."$5+1}' version.sbt)-$PR_NUMBER-SNAPSHOT --batch publish | |
| env: | |
| SONATYPE_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} | |
| SONATYPE_USERNAME: ${{ secrets.OSSRH_USERNAME }} | |
| PGP_PASSPHRASE: ${{ secrets.OSSRH_GPG_PASSPHRASE }} |