diff --git a/.github/actions/configure-xcode/action.yml b/.github/actions/configure-xcode/action.yml new file mode 100644 index 0000000..e809abb --- /dev/null +++ b/.github/actions/configure-xcode/action.yml @@ -0,0 +1,9 @@ +name: 'Configure Xcode' +description: 'Set up Xcode version' +runs: + using: composite + steps: + - name: Set up Xcode + shell: bash + run: | + sudo xcode-select -s /Applications/Xcode_26.4.app diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..400fc4e --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,17 @@ +on: + push: + branches: + - main + pull_request: +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +jobs: + build: + runs-on: macos-26 + steps: + - name: Checkout + uses: actions/checkout@v6 + - uses: ./.github/actions/configure-xcode + - name: Build + run: ./build.sh diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..49204ad --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,18 @@ +on: + push: + tags: + - "v*" +jobs: + build: + runs-on: macos-26 + steps: + - name: Checkout + uses: actions/checkout@v6 + - uses: ./.github/actions/configure-xcode + - name: Build + run: ./build.sh + - name: Create and publish release + run: | + TAG="${{ github.ref_name }}" + gh release create "$TAG" --draft --title "v$TAG" + gh release upload "$TAG" out/*.dylib