Skip to content

Commit

Permalink
Moving mac os builds into a separate job
Browse files Browse the repository at this point in the history
  • Loading branch information
ebmifa committed Jul 26, 2023
1 parent 16ffb08 commit 1796a3e
Showing 1 changed file with 108 additions and 61 deletions.
169 changes: 108 additions & 61 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,105 @@ env:
RUST_BACKTRACE: short

jobs:
release-build:
# release-build:
# timeout-minutes: 45
# strategy:
# matrix:
# os: [windows-ghcloud, ubuntu-ghcloud]
# fail-fast: false
# runs-on: ${{ matrix.os }}
# steps:
# - name: Clean up tag name ${{ env.TAG_NAME }}
# shell: bash
# run: |
# echo "sui_tag=$(echo ${{ env.TAG_NAME }} | sed s/'refs\/tags\/'//)" >> $GITHUB_ENV

# - name: Checking out ${{ env.sui_tag }}
# if: ${{ env.sui_tag != 'main' }}
# uses: actions/checkout@v3
# with:
# ref: ${{ env.sui_tag }}

# - name: Install nexttest (Windows)
# if: ${{ matrix.os == 'windows-ghcloud' && env.sui_tag != 'main' }}
# uses: taiki-e/install-action@nextest

# - name: Setup protoc (Windows)
# if: ${{ matrix.os == 'windows-ghcloud' && env.sui_tag != 'main' }}
# uses: arduino/setup-protoc@v1
# # this avoids rate-limiting
# with:
# repo-token: ${{ secrets.GITHUB_TOKEN }}

# - name: Install postgres (Windows)
# if: ${{ matrix.os == 'windows-ghcloud' && env.sui_tag != 'main' }}
# shell: bash
# run: |
# choco install postgresql12 --force --params '/Password:root'
# echo "C:\Program Files\PostgreSQL\12\bin" >> $GITHUB_PATH
# echo "C:\Program Files\PostgreSQL\12\lib" >> $GITHUB_PATH
# echo "PQ_LIB_DIR=C:\Program Files\PostgreSQL\12\lib" >> $GITHUB_ENV
# echo "PG_DATABASE_URL=postgres://postgres:root@localhost/" >> $GITHUB_ENV
# echo "PG_EXAMPLE_DATABASE_URL=postgres://postgres:root@localhost/diesel_example" >> $GITHUB_ENV

# - name: cargo build (release) for ${{ matrix.os }} platform
# if: ${{ env.sui_tag != 'main' }}
# shell: bash
# run: |
# cargo build --release

# - name: Rename binaries for Ubuntu
# if: ${{ env.sui_tag != 'main' && matrix.os == 'ubuntu-ghcloud' }}
# shell: bash
# run: |
# export arch=$(uname -m)
# export os_type="ubuntu-${arch}"
# echo "os_type=${os_type}" >> $GITHUB_ENV
# mv ./target/release/sui ./target/release/sui-${os_type}
# mv ./target/release/sui-node ./target/release/sui-node-${os_type}
# mv ./target/release/sui-tool ./target/release/sui-tool-${os_type}
# mv ./target/release/sui-faucet ./target/release/sui-faucet-${os_type}
# mv ./target/release/sui-test-validator ./target/release/sui-test-validator-${os_type}
# mv ./target/release/sui-indexer ./target/release/sui-indexer-${os_type}
# tar -cvzf ./target/release/sui-${{ env.sui_tag }}-${os_type}.tgz ./target/release/sui*-${os_type}*

# - name: Rename binaries for Windows
# if: ${{ env.sui_tag != 'main' && matrix.os == 'windows-ghcloud' }}
# shell: bash
# run: |
# export arch=$(uname -m)
# export os_type="windows-${arch}"
# echo "os_type=${os_type}" >> $GITHUB_ENV
# mv ./target/release/sui.exe ./target/release/sui-${os_type}.exe
# mv ./target/release/sui-node.exe ./target/release/sui-node-${os_type}.exe
# mv ./target/release/sui-tool.exe ./target/release/sui-tool-${os_type}.exe
# mv ./target/release/sui-faucet.exe ./target/release/sui-faucet-${os_type}.exe
# mv ./target/release/sui-test-validator.exe ./target/release/sui-test-validator-${os_type}.exe
# mv ./target/release/sui-indexer.exe ./target/release/sui-indexer-${os_type}.exe
# tar -cvzf ./target/release/sui-${{ env.sui_tag }}-${os_type}.tgz ./target/release/sui*-${os_type}*

# - name: Upload release artifacts for ${{ matrix.os }} platform
# if: ${{ env.sui_tag != 'main' }}
# uses: actions/upload-artifact@v3
# with:
# name: sui-binaries-${{ matrix.os }}
# path: |
# ./target/release/sui-${{ env.sui_tag }}-${{ env.os_type }}.tgz

# - name: Publish binaries for ${{ env.sui_tag }} release
# if: ${{ env.sui_tag != 'main' }}
# uses: softprops/action-gh-release@v1
# with:
# tag_name: ${{ env.sui_tag }}
# files: |
# ./target/release/sui-${{ env.sui_tag }}-${{ env.os_type }}.tgz
# env:
# # Have to use a Personal Access Token (PAT), based on https://tinyurl.com/2by2ntdr
# GITHUB_TOKEN: ${{ secrets.GH_RELEASE_BUILDS_TOKEN }}

macos-release-build:
timeout-minutes: 45
strategy:
matrix:
os: [macos-latest]
fail-fast: false
runs-on: ${{ matrix.os }}
runs-on: [ ubuntu-ghcloud ]
steps:
- name: Clean up tag name ${{ env.TAG_NAME }}
shell: bash
Expand All @@ -52,80 +144,35 @@ jobs:
uses: actions/checkout@v3
with:
ref: ${{ env.sui_tag }}

- name: Install nexttest (Windows)
if: ${{ matrix.os == 'windows-ghcloud' && env.sui_tag != 'main' }}
uses: taiki-e/install-action@nextest

- name: Setup protoc (Windows)
if: ${{ matrix.os == 'windows-ghcloud' && env.sui_tag != 'main' }}
uses: arduino/setup-protoc@v1
# this avoids rate-limiting
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Install postgres (Windows)
if: ${{ matrix.os == 'windows-ghcloud' && env.sui_tag != 'main' }}
shell: bash
run: |
choco install postgresql12 --force --params '/Password:root'
echo "C:\Program Files\PostgreSQL\12\bin" >> $GITHUB_PATH
echo "C:\Program Files\PostgreSQL\12\lib" >> $GITHUB_PATH
echo "PQ_LIB_DIR=C:\Program Files\PostgreSQL\12\lib" >> $GITHUB_ENV
echo "PG_DATABASE_URL=postgres://postgres:root@localhost/" >> $GITHUB_ENV
echo "PG_EXAMPLE_DATABASE_URL=postgres://postgres:root@localhost/diesel_example" >> $GITHUB_ENV
- name: cargo build (release) for ${{ matrix.os }} platform
if: ${{ env.sui_tag != 'main' }}
shell: bash
run: |
cargo build --release

- name: cargo build (release) for aarch64-apple-darwin platform
if: ${{ env.sui_tag != 'main' }}
if: ${{ env.sui_tag != 'main' }}
shell: bash
run: |
rustup target add aarch64-apple-darwin
cargo build --target aarch64-apple-darwin --release
cargo build --target aarch64-apple-darwin --release
- name: Rename binaries for Ubuntu
if: ${{ env.sui_tag != 'main' && matrix.os == 'macos-latest' }}
- name: Rename binaries for MacOS
if: ${{ env.sui_tag != 'main' }}
shell: bash
run: |
export arch=$(uname -m)
export os_type="ubuntu-${arch}"
echo "os_type=${os_type}" >> $GITHUB_ENV
echo "os_type=aarch64-apple-darwin" >> $GITHUB_ENV
mv ./target/release/sui ./target/release/sui-${os_type}
mv ./target/release/sui-node ./target/release/sui-node-${os_type}
mv ./target/release/sui-tool ./target/release/sui-tool-${os_type}
mv ./target/release/sui-faucet ./target/release/sui-faucet-${os_type}
mv ./target/release/sui-test-validator ./target/release/sui-test-validator-${os_type}
mv ./target/release/sui-indexer ./target/release/sui-indexer-${os_type}
tar -cvzf ./target/release/sui-${{ env.sui_tag }}-${os_type}.tgz ./target/release/sui*-${os_type}*
- name: Rename binaries for Windows
if: ${{ env.sui_tag != 'main' && matrix.os == 'windows-ghcloud' }}
shell: bash
run: |
export arch=$(uname -m)
export os_type="windows-${arch}"
echo "os_type=${os_type}" >> $GITHUB_ENV
mv ./target/release/sui.exe ./target/release/sui-${os_type}.exe
mv ./target/release/sui-node.exe ./target/release/sui-node-${os_type}.exe
mv ./target/release/sui-tool.exe ./target/release/sui-tool-${os_type}.exe
mv ./target/release/sui-faucet.exe ./target/release/sui-faucet-${os_type}.exe
mv ./target/release/sui-test-validator.exe ./target/release/sui-test-validator-${os_type}.exe
mv ./target/release/sui-indexer.exe ./target/release/sui-indexer-${os_type}.exe
tar -cvzf ./target/release/sui-${{ env.sui_tag }}-${os_type}.tgz ./target/release/sui*-${os_type}*
- name: Upload release artifacts for ${{ matrix.os }} platform
tar -cvzf ./target/release/sui-${{ env.sui_tag }}-${os_type}.tgz ./target/release/sui*-${os_type}*
- name: Upload release artifacts for aarch64-apple-darwin platform
if: ${{ env.sui_tag != 'main' }}
uses: actions/upload-artifact@v3
with:
name: sui-binaries-${{ matrix.os }}
name: sui-binaries-macos
path: |
./target/release/sui-${{ env.sui_tag }}-${{ env.os_type }}.tgz
- name: Publish binaries for ${{ env.sui_tag }} release
if: ${{ env.sui_tag != 'main' }}
uses: softprops/action-gh-release@v1
Expand Down

0 comments on commit 1796a3e

Please sign in to comment.