BuildAndReleaseMaster #12
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: BuildAndReleaseMaster | |
on: | |
workflow_dispatch: | |
push: | |
tags: | |
- "*" | |
jobs: | |
# create_release: | |
# name: Create release | |
# runs-on: ubuntu-latest | |
# outputs: | |
# upload_url: ${{ steps.create_release.outputs.upload_url }} | |
# env: | |
# PUBLISH_FOR_PULL_REQUEST: true | |
# CSC_FOR_PULL_REQUEST: true | |
# steps: | |
# - name: Release | |
# if: startsWith(github.ref, 'refs/tags/') | |
# id: create_release | |
# uses: softprops/action-gh-release@v1 | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# with: | |
# prerelease: true | |
# tag_name: ${{ github.ref_name }} | |
# name: ${{ github.ref_name }} | |
build_release: | |
name: Build release | |
# needs: create_release | |
runs-on: ${{ matrix.os }} | |
env: | |
PUBLISH_FOR_PULL_REQUEST: 1 | |
CSC_FOR_PULL_REQUEST: true | |
strategy: | |
matrix: | |
os: [macos-13, macOS-latest] | |
rust: [stable] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: libudev-dev | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libudev-dev | |
- name: install node | |
uses: actions/setup-node@master | |
with: | |
node-version: "lts/*" | |
- name: install rust | |
uses: hecrj/setup-rust-action@v1 | |
with: | |
rust-version: ${{ matrix.rust }} | |
- name: Rust Cache | |
uses: Swatinem/[email protected] | |
- name: cargo install nj-cli | |
run: cargo install nj-cli | |
- name: install wasm-pack | |
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh | |
- name: Install Build CLI tool | |
run: cargo install --path=cli | |
- name: enable corepack for yarnpkg upgrade | |
run: | | |
corepack enable | |
yarn cache clean | |
- name: setup keychain for signing and notarising | |
if: runner.os == 'macOS' | |
env: | |
KEYCHAIN_NAME: "build.keychain" | |
CSC_LINK: ${{ secrets.CSC_LINK }} | |
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }} | |
KEYCHAIN_PWD: ${{ secrets.KEYCHAIN_PWD }} | |
run: | | |
security create-keychain -p "$KEYCHAIN_PWD" "$KEYCHAIN_NAME" | |
security default-keychain -s "$KEYCHAIN_NAME" | |
certfile="${HOME}/buildcert.p12" | |
echo "$CSC_LINK" | base64 -d > "$certfile" | |
security import \ | |
"$certfile" \ | |
-P "$CSC_KEY_PASSWORD" \ | |
-A \ | |
-k "$KEYCHAIN_NAME" | |
rm "$certfile" | |
security set-key-partition-list \ | |
-S apple-tool:,apple:,codesign: \ | |
-s \ | |
-k "$KEYCHAIN_PWD" \ | |
"$KEYCHAIN_NAME" | |
security set-keychain-settings -lut 1200 | |
- name: build release macOS | |
if: runner.os == 'macOS' | |
run: | | |
cargo chipmunk release -c cli/config/codesign_macos.toml | |
env: | |
KEYCHAIN_NAME: "build.keychain-db" | |
CSC_LINK: ${{ secrets.CSC_LINK }} | |
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }} | |
APPLEID: ${{ secrets.APPLEID }} | |
APPLEIDPASS: ${{ secrets.APPLEIDPASS }} | |
TEAMID: ${{ secrets.TEAMID }} | |
SIGNING_ID: ${{ secrets.SIGNING_ID }} | |
KEYCHAIN_PWD: ${{ secrets.KEYCHAIN_PWD }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: build release | |
if: runner.os != 'macOS' | |
run: | | |
cargo chipmunk release | |
- name: list release files | |
working-directory: ./application/holder/release | |
run: ls | |
# - name: upload files | |
# if: startsWith(github.ref, 'refs/tags/') | |
# uses: AButler/[email protected] | |
# with: | |
# files: "./application/holder/release/*.tgz;./application/holder/release/*.zip" | |
# repo-token: ${{ secrets.GITHUB_TOKEN }} | |
# release-tag: ${{ github.ref_name }} | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# invoke_package_distribution: | |
# name: Invoke chipmunk package creation and distribution for different package managers | |
# needs: build_release | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout chipmunk-distribution | |
# uses: actions/checkout@v2 | |
# with: | |
# repository: esrlabs/chipmunk-distribution | |
# path: './chipmunk-distribution' | |
# token: ${{secrets.PUSH_TOKEN}} | |
# - name: Push tag | |
# working-directory: ./chipmunk-distribution | |
# run: | | |
# git config user.name "esrlabs" | |
# git config user.email "[email protected]" | |
# git remote set-url origin "https://esrlabs:${{secrets.PUSH_TOKEN}}@github.com/esrlabs/chipmunk-distribution" | |
# git tag ${{ github.ref_name }} | |
# git push origin ${{ github.ref_name }} |