Skip to content

Action started by FabioPinheiro on 168/merge - make_snapshot_release=; - force_deploy_ghpages= #696

Action started by FabioPinheiro on 168/merge - make_snapshot_release=; - force_deploy_ghpages=

Action started by FabioPinheiro on 168/merge - make_snapshot_release=; - force_deploy_ghpages= #696

Workflow file for this run

name: CI
run-name: |
Action started by ${{ github.actor }} on ${{ github.ref_name }}
- make_snapshot_release=${{ inputs.make_snapshot_release }};
- force_deploy_ghpages=${{ inputs.force_deploy_ghpages }}
on:
workflow_dispatch:
inputs:
make_snapshot_release:
description: "Publish libraries's SNAPSHOT"
default: false
type: boolean
required: false
force_deploy_ghpages:
description: "Force deploy gb-pages"
default: false
type: boolean
required: false
pull_request:
branches-ignore:
- "gh-pages"
push:
branches: [master, main]
tags: ["v*"]
# env:
# NODE_OPTIONS: "--openssl-legacy-provider"
jobs:
build-test:
name: Build and Test
runs-on: ubuntu-latest
env:
NODE_OPTIONS: "--openssl-legacy-provider" # This is need after node-version "16"
steps:
# https://github.com/japgolly/setup-everything-scala
- uses: actions/checkout@v3
with:
fetch-depth: 0 # Needed for the release tag // `git fetch --tags` will also work
- name: Setup Java and Scala
uses: olafurpg/setup-scala@v14
with:
java-version: [email protected]
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: "18" # or whatever
- name: Setup Scala.JS
uses: japgolly/setup-scalajs@v1
- name: Cache sbt
uses: coursier/[email protected]
### Compile & Test ###
# - name: Compile and Test
# run: sbt -v -mem 2048 -J-Xmx5120m "ciJobLib"
# env:
# NODE_OPTIONS: "--openssl-legacy-provider" # This is need after node-version "16"
- name: Compile
run: sbt -v "compile"
- name: Test
run: sbt -v "test"
- name: Generate documentation
run: sbt -v "docAll;siteAll;"
- name: Build serviceworker and webapp
run: sbt -v "fullPackAll"
- name: Build Frontend - Vite
run: |
npm install
npm run build
- name: Demo assembly
run: sbt -v "demoJVM/assembly"
ghpages:
name: Deploy gh-pages
needs: build-test
runs-on: ubuntu-latest
if: (inputs.force_deploy_ghpages == true) || (github.ref == 'refs/heads/master') || startsWith(github.ref, 'refs/tags/v')
steps:
# https://github.com/japgolly/setup-everything-scala
- uses: actions/checkout@v3
with:
fetch-depth: 0 # Needed for the release tag // `git fetch --tags` will also work
- name: Setup Java and Scala
uses: olafurpg/setup-scala@v14
with:
java-version: [email protected]
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: "18" # or whatever
- name: Setup Scala.JS
uses: japgolly/setup-scalajs@v1
- name: Cache sbt
uses: coursier/[email protected]
### create build deploy gh-pages ###
- name: sbt "docAll; siteAll"
run: sbt -v "docAll; siteAll"
- name: Build
run: |
mkdir ./public
cp -r docs/target/site/did-doc/. ./public
cp -r docs/target/scaladoc/unidoc ./public/api
- name: Deploy
# https://github.com/marketplace/actions/github-pages-action
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
cname: doc.did.fmgp.app
publish:
name: Publish Artifacts
needs: build-test
runs-on: ubuntu-latest
if: ((inputs.make_snapshot_release == true) && (github.ref_name == 'master') || startsWith(github.ref, 'refs/tags/v'))
steps:
# https://github.com/japgolly/setup-everything-scala
- uses: actions/checkout@v3
with:
fetch-depth: 0 # Needed for the release tag // `git fetch --tags` will also work
- name: Setup Java and Scala
uses: olafurpg/setup-scala@v14
with:
java-version: [email protected]
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: "18" # or whatever
- name: Setup Scala.JS
uses: japgolly/setup-scalajs@v1
- name: Cache sbt
uses: coursier/[email protected]
### Publish Artifacts ###
- name: publish
run: sbt ci-release
env:
NODE_OPTIONS: "--openssl-legacy-provider" # This is need after node-version "16"
PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }}
PGP_SECRET: ${{ secrets.PGP_SECRET }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
PACKAGES_GITHUB_TOKEN: ${{ secrets.PACKAGES_GITHUB_TOKEN }}