Add Apple Silicon support #827
Workflow file for this run
This file contains hidden or 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: 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 | |
cli_assembly_arch: x86-64-v3 | |
- os: windows-latest | |
cli_assembly_id: windows-amd64 | |
cli_assembly_format: zip | |
cli_assembly_arch: x86-64-v3 | |
gu_executable_ext: .cmd | |
- os: macos-13 | |
cli_assembly_id: macos-amd64 | |
cli_assembly_format: tar.gz | |
cli_assembly_arch: x86-64-v3 | |
- os: macos-latest | |
cli_assembly_id: macos-aarch64 | |
cli_assembly_format: tar.gz | |
cli_assembly_arch: armv8-a | |
steps: | |
- uses: ilammy/msvc-dev-cmd@v1 | |
if: ${{ runner.os == 'Windows'}} | |
- run: ldd --version | |
if: ${{ runner.os == 'Linux'}} | |
- 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: ${{ runner.os == 'Windows'}} | |
- 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 }}" "-Dcli_assembly_arch=${{ matrix.cli_assembly_arch }}" | |
if: ${{ runner.os == 'Linux' && 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 }}" "-Dcli_assembly_arch=${{ matrix.cli_assembly_arch }}" | |
if: ${{ runner.os != 'Linux' || github.actor == 'dependabot[bot]' }} | |
env: | |
GITHUB_USER: ${{ github.actor }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Sign and notarize executable | |
if: ${{ runner.os == 'macOS' && github.actor != 'dependabot[bot]' }} | |
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 | |
if: ${{ github.actor != 'dependabot[bot]' }} | |
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: ${{ runner.os == 'Windows'}} | |
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: ${{ runner.os == 'Windows' && github.actor != 'dependabot[bot]' }} | |
with: | |
name: cli-dev-${{ matrix.cli_assembly_id }}-setup.exe | |
path: code/cli/target/cli-dev-${{ matrix.cli_assembly_id }}-setup.exe |