Skip to content

Use index V2

Use index V2 #792

Workflow file for this run

name: Build
on:
push:
workflow_dispatch:
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ macos-latest, windows-latest, ubuntu-latest ]
include:
- os: ubuntu-latest
cli_assembly_id: linux-amd64
cli_assembly_format: tar.gz
- os: windows-latest
cli_assembly_id: windows-amd64
cli_assembly_format: zip
gu_executable_ext: .cmd
- os: macos-latest
cli_assembly_id: macos-aarch64
cli_assembly_format: tar.gz
steps:
- uses: ilammy/msvc-dev-cmd@v1
if: ${{ matrix.os == 'windows-latest'}}
- run: ldd --version
if: ${{ matrix.os == 'ubuntu-latest'}}
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- uses: actions/cache@v4
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- uses: Project-Env/[email protected]
- uses: repolevedavaj/[email protected]
with:
nsis-version: 3.08
if: ${{ matrix.os == 'windows-latest'}}
- run: mvn -B -s etc/m2/settings.xml verify -Pnative-image -Psonar "-Dcli.assembly.id=${{ matrix.cli_assembly_id }}" "-Dcli.assembly.format=${{ matrix.cli_assembly_format }}"
if: ${{ matrix.os == 'ubuntu-latest' && github.actor != 'dependabot[bot]' }}
env:
GITHUB_USER: ${{ github.actor }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- run: mvn -B -s etc/m2/settings.xml verify -Pnative-image "-Dcli.assembly.id=${{ matrix.cli_assembly_id }}" "-Dcli.assembly.format=${{ matrix.cli_assembly_format }}"
if: ${{ matrix.os != 'ubuntu-latest' || github.actor == 'dependabot[bot]' }}
env:
GITHUB_USER: ${{ github.actor }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Sign and notarize executable
if: ${{ matrix.os == 'macos-latest'}}
run: ../../../etc/github-actions/sign-and-notarize-executable.sh
working-directory: code/cli/target
env:
EXECUTABLE_NAME: project-env-cli
EXECUTABLE_PACKAGE_NAME: cli-dev-${{ matrix.cli_assembly_id }}.${{ matrix.cli_assembly_format }}
EXECUTABLE_ID: io.projectenv.core.cli
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
APPLE_ID_TEAM: ${{ secrets.APPLE_ID_TEAM }}
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
APPLE_IDENTITY: ${{ secrets.APPLE_IDENTITY }}
- uses: actions/upload-artifact@v4
with:
name: cli-dev-${{ matrix.cli_assembly_id }}.${{ matrix.cli_assembly_format }}
path: code/cli/target/cli-dev-${{ matrix.cli_assembly_id }}.${{ matrix.cli_assembly_format }}
- uses: repolevedavaj/create-cli-app-nsis-installer@main
if: ${{ matrix.os == 'windows-latest'}}
with:
package-identifier: ProjectEnv.ProjectEnvCli
package-name: Project-Env Cli
package-version: dev
source-directory: code/cli/target/cli-dev-windows-amd64
- uses: actions/upload-artifact@v4
if: ${{ matrix.os == 'windows-latest'}}
with:
name: cli-dev-${{ matrix.cli_assembly_id }}-setup.exe
path: code/cli/target/cli-dev-${{ matrix.cli_assembly_id }}-setup.exe