name: macOS on: pull_request: push: release: types: [published] jobs: build: runs-on: macos-latest concurrency: group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-macOS cancel-in-progress: true steps: - uses: actions/checkout@v2 with: # WyriHaximus/github-action-get-previous-tag@master need it fetch-depth: 0 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 brew install dub - 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/archive-all scripts/makeself/build-runfile.sh - 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 # upload artifacts to latest release - name: Get Previous tag id: previoustag uses: WyriHaximus/github-action-get-previous-tag@master - name: Upload artifacts to lastest release if: github.ref == 'refs/heads/master' uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: artifacts/xmake.zip asset_name: xmake-master.zip tag: ${{ steps.previoustag.outputs.tag }} overwrite: true - name: Upload artifacts to lastest release if: github.ref == 'refs/heads/master' uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: artifacts/xmake.tar.gz asset_name: xmake-master.tar.gz tag: ${{ steps.previoustag.outputs.tag }} overwrite: true - 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