name: macOS on: pull_request: push: release: types: [published] jobs: build: runs-on: macos-latest concurrency: group: ${{ github.head_ref }}-macOS cancel-in-progress: true steps: - uses: actions/checkout@v2 with: submodules: true - name: Prepare local xmake run: cp -rf . ../xmake-source - uses: xmake-io/github-action-setup-xmake@v1 with: xmake-version: local#../xmake-source - uses: little-core-labs/get-git-tag@v3.0.2 id: tagName - name: Installation run: | brew install dmd - name: Tests run: | xmake lua -v -D tests/run.lua xrepo --version - name: Artifact run: | brew install gnu-tar gem install --no-document fpm scripts/makepkg osxpkg scripts/archive-all scripts/makeself/build-runfile.sh - uses: actions/upload-artifact@v2 with: name: xmake-latest.macosx.pkg path: artifacts/xmake.pkg - uses: actions/upload-artifact@v2 with: name: xmake-latest.gz.run path: artifacts/xmake.gz.run - uses: actions/upload-artifact@v2 with: name: xmake-latest.xz.run path: artifacts/xmake.xz.run - uses: actions/upload-artifact@v2 with: name: xmake-latest.tar.gz path: artifacts/xmake.tar.gz - uses: actions/upload-artifact@v2 with: name: xmake-latest.zip path: artifacts/xmake.zip - name: Publish package if: github.event.action == 'published' uses: actions/upload-release-asset@v1.0.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ github.event.release.upload_url }} asset_path: artifacts/xmake.pkg asset_name: xmake-${{ steps.tagName.outputs.tag }}.macosx.pkg asset_content_type: application/zip - name: Publish gz runfile if: github.event.action == 'published' uses: actions/upload-release-asset@v1.0.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ github.event.release.upload_url }} asset_path: artifacts/xmake.gz.run asset_name: xmake-${{ steps.tagName.outputs.tag }}.gz.run asset_content_type: application/zip - name: Publish xz runfile if: github.event.action == 'published' uses: actions/upload-release-asset@v1.0.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ github.event.release.upload_url }} asset_path: artifacts/xmake.xz.run asset_name: xmake-${{ steps.tagName.outputs.tag }}.xz.run asset_content_type: application/zip - name: Publish gz archive if: github.event.action == 'published' uses: actions/upload-release-asset@v1.0.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ github.event.release.upload_url }} asset_path: artifacts/xmake.tar.gz asset_name: xmake-${{ steps.tagName.outputs.tag }}.tar.gz asset_content_type: application/zip - name: Publish zip archive if: github.event.action == 'published' uses: actions/upload-release-asset@v1.0.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ github.event.release.upload_url }} asset_path: artifacts/xmake.zip asset_name: xmake-${{ steps.tagName.outputs.tag }}.zip asset_content_type: application/zip