Skip to content

Setting version to 1.4.11 #881

Setting version to 1.4.11

Setting version to 1.4.11 #881

Workflow file for this run

name: Build
on:
workflow_dispatch:
inputs: {}
push:
branches: [ "develop" ]
tags: [ "v**" ]
pull_request:
branches: [ "develop" ]
jobs:
checksecret:
runs-on: ubuntu-latest
outputs:
HAVE_SECRETS: ${{ steps.checksecret_job.outputs.HAVE_SECRETS }}
steps:
- id: checksecret_job
env:
TOKEN_BITWARDEN_SM: ${{ secrets.TOKEN_BITWARDEN_SM }}
run: |
echo "HAVE_SECRETS=${{ env.TOKEN_BITWARDEN_SM != '' }}" >> $GITHUB_OUTPUT
build:
runs-on: ubuntu-latest
needs: [ 'checksecret' ]
strategy:
fail-fast: false
matrix:
scala: [ '2.13', '3' ]
steps:
- uses: 7mind/github-env@minimal
- name: Build and Test
run: nix develop --command mdl --github-actions --scala-version=${{ matrix.scala }} :gen :coverage
- uses: bitwarden/sm-action@v2
if: needs.checksecret.outputs.HAVE_SECRETS == 'true'
with:
access_token: ${{ secrets.TOKEN_BITWARDEN_SM }}
secrets: |
5e21669e-48b4-49ce-82f0-b193010a2ded > TOKEN_CODECOV
# - uses: codecov/codecov-action@v4
# if: needs.checksecret.outputs.HAVE_SECRETS == 'true'
# with:
# token: ${{ env.TOKEN_CODECOV }}
# verbose: true
# fail_ci_if_error: true
# files: "**/cobertura.xml"
test-flake:
runs-on: ubuntu-latest
steps:
- uses: 7mind/github-env@minimal
- name: Validate flake
run: |
if [[ "$CI_BRANCH_TAG" =~ ^v.*$ && "$CI_PULL_REQUEST" == "false" ]] ; then
nix develop --command mdl --github-actions :validate-flake
fi
test-compiler:
runs-on: ubuntu-latest
needs: [ 'checksecret' ]
strategy:
fail-fast: false
matrix:
test: [ ':test-scala', ':test-cs', ':test-ts', ':test-pb' ]
scala: [ '2.13' ]
steps:
- uses: 7mind/github-env@minimal
- name: Test compiler
run: nix develop --command mdl --github-actions --scala-version=${{ matrix.scala }} ${{ matrix.test }}
- uses: dorny/test-reporter@v1
if: (needs.checksecret.outputs.HAVE_SECRETS == 'true') && (success() || failure())
with:
name: Test reports (${{ matrix.test }}, Scala ${{ matrix.scala }})
path: '**/target/spec-reports/**/*.xml'
reporter: java-junit
publish-npm:
runs-on: ubuntu-latest
needs: [ 'checksecret', 'test-compiler' ]
if: needs.checksecret.outputs.HAVE_SECRETS == 'true' && github.event_name == 'push' && (github.ref == 'refs/heads/develop' || startsWith(github.ref, 'refs/tags/v'))
permissions:
contents: read
id-token: write
steps:
- uses: 7mind/github-env@minimal
with:
cache-scala: false
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "24"
registry-url: "https://registry.npmjs.org"
- name: Publish NPM artifacts
run: nix develop --command mdl --github-actions --scala-version=2.13 :publish-npm
publish-nuget:
runs-on: ubuntu-latest
needs: [ 'checksecret', 'test-compiler' ]
if: needs.checksecret.outputs.HAVE_SECRETS == 'true' && github.event_name == 'push' && (github.ref == 'refs/heads/develop' || startsWith(github.ref, 'refs/tags/v'))
steps:
- uses: 7mind/github-env@minimal
with:
cache-scala: false
- uses: bitwarden/sm-action@v2
with:
access_token: ${{ secrets.TOKEN_BITWARDEN_SM }}
secrets: |
637c5cad-a680-4ea3-ac8b-b193010bee40 > TOKEN_NUGET
- name: Publish Nuget artifacts
run: nix develop --command mdl --github-actions --scala-version=2.13 :publish-nuget
publish-scala:
runs-on: ubuntu-latest
needs: [ 'build', 'test-compiler', 'checksecret' ]
if: needs.checksecret.outputs.HAVE_SECRETS == 'true' && github.event_name == 'push' && (github.ref == 'refs/heads/develop' || startsWith(github.ref, 'refs/tags/v'))
strategy:
fail-fast: false
matrix:
scala: [ '2.13', '3' ]
steps:
- uses: 7mind/github-env@minimal
- uses: bitwarden/sm-action@v2
with:
access_token: ${{ secrets.TOKEN_BITWARDEN_SM }}
secrets: |
994f97a2-97a4-4fe1-806a-b1930104435f > SONATYPE_CREDENTIALS_FILE
749f4227-9f11-4ceb-9121-b1930110c3a9 > OPENSSL_KEY
a2fe5b5b-5f3f-47f8-961c-b1930110cea7 > OPENSSL_IV
- name: Build and Publish to Sonatype
env:
SONATYPE_SECRET: .secrets/credentials.sonatype-nexus.properties
run: |
set -x
set -e
if [[ "$CI_PULL_REQUEST" == "false" ]] ; then
mkdir .secrets
echo "$SONATYPE_CREDENTIALS_FILE" > "$SONATYPE_SECRET"
openssl aes-256-cbc -K ${OPENSSL_KEY} -iv ${OPENSSL_IV} -in secrets.tar.enc -out secrets.tar -d
tar xvf secrets.tar
fi
nix develop --command mdl --github-actions --scala-version=${{ matrix.scala }} :publish-scala
all-good:
if: always()
runs-on: ubuntu-latest
needs: [ 'build', 'test-compiler', 'test-flake' ]
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}