Skip to content

aarch64 = arm64 arch #202

aarch64 = arm64 arch

aarch64 = arm64 arch #202

Workflow file for this run

name: libgoldilocks pipeline
on: push
jobs:
build-mac:
strategy:
matrix:
config:
- {os: macos-13, path: darwin-x86_64, arch: x86_64}
- {os: macos-latest, path: darwin-arm64, arch: arm64}
runs-on: ${{ matrix.config.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build
run: |
brew install automake libtool
autoreconf --install && ./configure && make all
- name: Upload
uses: actions/upload-artifact@v3
with:
name: libgoldilocks-darwin-${{ matrix.config.arch }}
path: src/.libs/libgoldilocks.a
build-windows:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Win
uses: msys2/setup-msys2@v2
with:
msystem: mingw64
update: true
install: >
base-devel
autoconf-wrapper
autoconf
automake
libtool
mingw-w64-x86_64-gcc
mingw-w64-x86_64-make
mingw-w64-x86_64-binutils
mingw-w64-x86_64-libwinpthread-git
- name: Build
shell: msys2 {0}
run: |
autoreconf --install && ./configure && make all
- name: Upload
uses: actions/upload-artifact@v3
with:
name: libgoldilocks-windows-x86_64
path: src/.libs/libgoldilocks.a
build-alpine:
strategy:
matrix:
config:
- {arch: x86_64, branch: latest-stable}
- {arch: aarch64, branch: latest-stable}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Alpine Linux
uses: jirutka/setup-alpine@v1
with:
arch: ${{ matrix.config.arch }}
branch: ${{ matrix.config.branch }}
- name: Install deps
shell: alpine.sh --root {0}
run: |
apk add automake autoconf libtool make gcc g++
- name: Build
shell: alpine.sh --root {0}
run: |
autoreconf --install && ./configure && make all
- name: Upload
uses: actions/upload-artifact@v3
with:
name: libgoldilocks-linux-${{ matrix.config.arch }}
path: src/.libs/libgoldilocks.a
release:
runs-on: ubuntu-latest
#if: github.ref == 'refs/heads/master'
needs: [build-mac, build-windows, build-alpine]
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Linux x86_64
uses: actions/download-artifact@v3
with:
name: libgoldilocks-linux-x86_64
path: linux-x86_64
- name: Linux arm64
uses: actions/download-artifact@v3
with:
name: libgoldilocks-linux-aarch4
path: linux-arm64
- name: Darwin x86_64
uses: actions/download-artifact@v3
with:
name: libgoldilocks-darwin-x86_64
path: darwin-x86_64
- name: Darwin arm64
uses: actions/download-artifact@v3
with:
name: libgoldilocks-darwin-arm64
path: darwin-arm64
- name: Win x86_64
uses: actions/download-artifact@v3
with:
name: libgoldilocks-windows-x86_64
path: windows-x86_64
- name: Create zip
run: |
zip -r libgoldilocks linux-x86_64 linux-arm64 darwin-x86_64 darwin-arm64 windows-x86_64
- name: Bump version
id: version_bump
uses: anothrNick/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DEFAULT_BUMP: "patch"
RELEASE_BRANCHES: "master"
- name: Create release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.version_bump.outputs.tag }}
release_name: libgoldilocks ${{ steps.version_bump.outputs.tag }}
draft: false
prerelease: false
- name: Upload release assets
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: libgoldilocks.zip
asset_name: libgoldilocks.zip
asset_content_type: application/zip