[6.0] Serialization versioning #1728
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: CI | |
on: | |
push: | |
branches: | |
- master | |
- develop | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
jobs: | |
build: | |
name: Test and publish a snapshot | |
env: | |
HAS_SECRETS: ${{ secrets.SONATYPE_PASSWORD != '' }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
scala: [2.13.11, 2.12.18, 2.11.12] | |
java: [[email protected]] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout current branch (full) | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Setup Java and Scala | |
uses: olafurpg/setup-scala@v10 | |
with: | |
java-version: ${{ matrix.java }} | |
- name: Cache sbt | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.sbt | |
~/.ivy2/cache | |
~/.coursier/cache/v1 | |
~/.cache/coursier/v1 | |
~/AppData/Local/Coursier/Cache/v1 | |
~/Library/Caches/Coursier/v1 | |
key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }} | |
- name: Runs tests | |
run: sbt -jvm-opts ci/ci.jvmopts ++${{ matrix.scala }} test | |
- name: Publish a snapshot ${{ github.ref }} | |
if: env.HAS_SECRETS == 'true' | |
run: sbt ++${{ matrix.scala }} publish | |
env: | |
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | |
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | |
buildJs: | |
name: JS - Test and publish snapshots | |
env: | |
HAS_SECRETS: ${{ secrets.SONATYPE_PASSWORD != '' }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
scala: [2.13.11] | |
java: [[email protected]] | |
node-version: [20] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout current branch (full) | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Setup NPM | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
registry-url: https://registry.npmjs.org/ | |
cache: npm | |
cache-dependency-path: ./sigma-js/package-lock.json | |
- name: Install NPM dependencies | |
run: npm ci --prefix sigma-js | |
- name: Setup Java and Scala | |
uses: olafurpg/setup-scala@v10 | |
with: | |
java-version: ${{ matrix.java }} | |
- name: Cache sbt | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.sbt | |
~/.ivy2/cache | |
~/.coursier/cache/v1 | |
~/.cache/coursier/v1 | |
~/AppData/Local/Coursier/Cache/v1 | |
~/Library/Caches/Coursier/v1 | |
key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }} | |
- name: Runs tests and collect coverage | |
run: sbt -jvm-opts ci/ci.jvmopts ++${{ matrix.scala }} coreJS/test interpreterJS/test parsersJS/test sdkJS/test scJS/test | |
- name: Publish a JVM snapshot ${{ github.ref }} | |
if: env.HAS_SECRETS == 'true' | |
run: sbt ++${{ matrix.scala }} sdkJS/publish | |
env: | |
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | |
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | |
- name: JS Build | |
run: sbt -jvm-opts ci/ci.jvmopts ++${{ matrix.scala }} scJS/fastOptJS | |
- name: Runs JS tests | |
run: npm run test | |
working-directory: ./sigma-js | |
- name: Setup JS snapshot | |
run: npm run ci:snapshot | |
working-directory: ./sigma-js | |
- name: Publish JS snapshot ${{ github.ref }} | |
run: npm publish --tag snapshot | |
working-directory: ./sigma-js | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} |