Change names of different build versions #127
This file contains 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: | |
branches: | |
- main | |
- develop | |
workflow_dispatch: | |
jobs: | |
build-linux: | |
name: Build Linux | |
runs-on: ubuntu-24.04 | |
strategy: | |
matrix: | |
include: | |
- project: osci-render | |
version: free | |
- project: osci-render | |
version: premium | |
- project: sosci | |
version: premium | |
steps: | |
- name: Fix up git URLs | |
run: echo -e '[url "https://github.com/"]\n insteadOf = "[email protected]:"' >> ~/.gitconfig | |
shell: bash | |
- uses: actions/checkout@v1 | |
with: | |
token: ${{ secrets.ACCESS_TOKEN }} | |
submodules: true | |
- name: "Run script" | |
run: | | |
export OS="linux" | |
source ./ci/setup-env.sh | |
source ./ci/test.sh | |
source ./ci/build.sh "${{ matrix.project }}" "${{ matrix.version }}" | |
shell: bash | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Binaries | |
path: bin | |
retention-days: 7 | |
build-macos: | |
name: Build macOS | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
include: | |
- project: osci-render | |
version: free | |
- project: osci-render | |
version: premium | |
- project: sosci | |
version: premium | |
steps: | |
- name: Fix up git URLs | |
run: echo -e '[url "https://github.com/"]\n insteadOf = "[email protected]:"' >> ~/.gitconfig | |
shell: bash | |
- uses: actions/checkout@v1 | |
with: | |
token: ${{ secrets.ACCESS_TOKEN }} | |
submodules: true | |
- uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest | |
- name: Import application certificates | |
uses: apple-actions/import-codesign-certs@v3 | |
with: | |
keychain: oscirender | |
keychain-password: ${{ secrets.APPLE_KEYCHAIN_PASSWORD }} | |
p12-file-base64: ${{ secrets.APPLE_APPLICATION_CERTIFICATE }} | |
p12-password: ${{ secrets.APPLE_APPLICATION_CERTIFICATE_PASSWORD }} | |
- name: Import installer certificates | |
uses: apple-actions/import-codesign-certs@v3 | |
with: | |
keychain: oscirender | |
keychain-password: ${{ secrets.APPLE_KEYCHAIN_PASSWORD }} | |
p12-file-base64: ${{ secrets.APPLE_INSTALLER_CERTIFICATE }} | |
p12-password: ${{ secrets.APPLE_INSTALLER_CERTIFICATE_PASSWORD }} | |
create-keychain: false | |
- name: "Run script" | |
run: | | |
export OS="mac" | |
source ./ci/setup-env.sh | |
source ./ci/test.sh | |
source ./ci/build.sh "${{ matrix.project }}" | |
shell: bash | |
- name: Download Packages installer build tool | |
run: wget http://s.sudre.free.fr/files/Packages_1211_dev.dmg | |
- name: Mount Packages image | |
run: hdiutil attach Packages_1211_dev.dmg | |
- name: Install Packages | |
run: sudo installer -pkg /Volumes/Packages\ 1.2.11/Install\ Packages.pkg -target / | |
- name: Build installer | |
run: packagesbuild --project "packaging/${{ matrix.project }}.pkgproj" | |
- name: Sign installer | |
run: | | |
productsign -s "${{ secrets.APPLE_DEVELOPER_ID_INSTALLER }}" "packaging/build/${{ matrix.project }}.pkg" "bin/${{ matrix.project }}-{{ matrix.version }}.pkg" | |
pkgutil --check-signature "bin/${{ matrix.project }}-{{ matrix.version }}.pkg" | |
- name: Notarize installer | |
uses: lando/notarize-action@v2 | |
with: | |
product-path: "bin/${{ matrix.project }}-{{ matrix.version }}.pkg" | |
appstore-connect-username: ${{ secrets.APPLE_ID }} | |
appstore-connect-password: ${{ secrets.APPLE_NOTARIZATION_PASSWORD }} | |
appstore-connect-team-id: ${{ secrets.APPLE_TEAM_ID }} | |
primary-bundle-id: com.${{ matrix.project }}.pkg | |
tool: notarytool | |
verbose: true | |
- name: Staple installer | |
run: xcrun stapler staple "bin/${{ matrix.project }}-{{ matrix.version }}.pkg" | |
- name: Check installer | |
run: spctl -a -vvv -t install "bin/${{ matrix.project }}-{{ matrix.version }}.pkg" | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Binaries | |
path: bin | |
retention-days: 7 | |
build-windows: | |
name: Build Windows | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
include: | |
- project: osci-render | |
version: free | |
- project: osci-render | |
version: premium | |
- project: sosci | |
version: premium | |
steps: | |
- name: Fix up git URLs | |
run: echo -e '[url "https://github.com/"]\n insteadOf = "[email protected]:"' >> ~/.gitconfig | |
shell: bash | |
- uses: actions/checkout@v1 | |
with: | |
token: ${{ secrets.ACCESS_TOKEN }} | |
submodules: true | |
- name: Setup NuGet.exe for use with actions | |
uses: NuGet/[email protected] | |
- name: NuGet Sources | |
run: nuget sources | |
- name: "Run script" | |
run: | | |
export OS="win" | |
source ./ci/setup-env.sh | |
source ./ci/test.sh | |
source ./ci/build.sh "${{ matrix.project }}" | |
shell: bash | |
- name: Compile .ISS to .EXE Installer | |
uses: Minionguyjpro/[email protected] | |
with: | |
path: "packaging/${{ matrix.project }}.iss" | |
- name: Move installer to bin | |
run: mv "packaging/build/${{ matrix.project }}.exe" "bin/${{ matrix.project }}-{{ matrix.version }}.exe" | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Binaries | |
path: bin | |
retention-days: 7 |