Skip to content

Release 0.8.9

Release 0.8.9 #513

Workflow file for this run

name: Java CI with Gradle
on:
push:
branches: [ "master" ]
pull_request:
branches:
release:
types: [ "created" ]
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
build-all-but-mac:
runs-on: ubuntu-latest
env:
WIRESPEC_BUILD_LINUX: true
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: GPG_PASSPHRASE
- uses: actions/setup-node@v3
with:
node-version: 16
- name: Run
run: |
make build
make image
make example
- name: Archive linux cli
uses: actions/upload-artifact@v3
with:
name: wirespec-cli-linux
path: src/compiler/cli/build/bin/linuxX64/releaseExecutable/cli.kexe
- name: Archive vscode extension
uses: actions/upload-artifact@v3
with:
name: wirespec-client-vscode
path: src/lsp/node/client/build/wirespec-client-vscode-*.vsix
- name: Archive Intellij plugin
uses: actions/upload-artifact@v3
with:
name: wirespec-intellij-plugin
path: src/lsp/intellij-plugin/build/distributions/intellij-plugin-*.zip
build-mac:
runs-on: macos-latest
env:
WIRESPEC_BUILD_MAC_ARM: true
WIRESPEC_BUILD_MAC_X86: true
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: GPG_PASSPHRASE
- name: Run
run: |
./gradlew build
- name: Archive macosX86 cli
uses: actions/upload-artifact@v3
with:
name: wirespec-cli-macos-x86
path: src/compiler/cli/build/bin/macosX64/releaseExecutable/cli.kexe
- name: Archive macosArm64 cli
uses: actions/upload-artifact@v3
with:
name: wirespec-cli-macos-arm64
path: src/compiler/cli/build/bin/macosArm64/releaseExecutable/cli.kexe
version:
runs-on: ubuntu-latest
if: github.event_name == 'release' && github.event.action == 'created'
needs:
- build-all-but-mac
- build-mac
outputs:
version: ${{steps.version.outputs.version}}
steps:
- uses: actions/checkout@v3
- id: version
name: Generate version
uses: ./.github/actions/version
with:
version: ${{ github.event.release.tag_name }}
release-plugin-gradle:
runs-on: ubuntu-latest
needs:
- version
env:
VERSION: ${{needs.version.outputs.version}}
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: GPG_PASSPHRASE
- name: Run
run: |
./gradlew :src:plugin:gradle:publish
release-plugin-maven:
runs-on: ubuntu-latest
needs:
- version
env:
VERSION: ${{needs.version.outputs.version}}
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: GPG_PASSPHRASE
- name: Run
run: |
./gradlew :src:plugin:maven:publish
release-intellij:
runs-on: ubuntu-latest
needs:
- version
env:
VERSION: ${{needs.version.outputs.version}}
JETBRAINS_TOKEN: ${{ secrets.JETBRAINS_TOKEN }}
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Run
run: |
./gradlew :src:lsp:intellij-plugin:publishPlugin
release-vscode:
runs-on: ubuntu-latest
needs:
- version
env:
VERSION: ${{needs.version.outputs.version}}
VSCE_PAT: ${{ secrets.VSCODE_TOKEN }}
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: GPG_PASSPHRASE
- uses: actions/setup-node@v3
with:
node-version: 16
- name: Build lib
run: |
./gradlew :src:compiler:lib:build
- name: Build server
working-directory: ./src/lsp/node/server
run: |
npm i
npm run build
- name: Build extension
working-directory: ./src/lsp/node/client
run: |
npm i
npm run build
npm version $VERSION
npm run vscode:publish
release-cli:
runs-on: ubuntu-latest
needs:
- version
steps:
- uses: actions/download-artifact@v3
with:
name: wirespec-cli-macos-x86
path: artifacts/macosX64
- uses: actions/download-artifact@v3
with:
name: wirespec-cli-macos-arm64
path: artifacts/macosArm64
- uses: actions/download-artifact@v3
with:
name: wirespec-cli-linux
path: artifacts/linuxX64
- run: |
mkdir uploads
cp artifacts/linuxX64/cli.kexe uploads/linuxX64.kexe
cp artifacts/macosX64/cli.kexe uploads/macosX64.kexe
cp artifacts/macosArm64/cli.kexe uploads/macosArm64.kexe
- name: Upload assets
uses: softprops/action-gh-release@v1
with:
files: |
uploads/linuxX64.kexe
uploads/macosX64.kexe
uploads/macosArm64.kexe
release-lib-jvm:
runs-on: ubuntu-latest
needs:
- version
env:
VERSION: ${{needs.version.outputs.version}}
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: GPG_PASSPHRASE
- name: Run
run: |
./gradlew :src:compiler:core:publish
./gradlew :src:compiler:lib:publish
./gradlew :src:openapi:publish
release-lib-npm:
runs-on: ubuntu-latest
needs:
- version
env:
VERSION: ${{needs.version.outputs.version}}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: GPG_PASSPHRASE
- uses: actions/setup-node@v3
with:
node-version: 18
registry-url: 'https://registry.npmjs.org'
- name: Build
run: |
./gradlew :src:compiler:lib:build
- name: Build
working-directory: ./src/compiler/lib/build/dist/js/productionLibrary
run: |
npm publish --access public