name: CI-Release on: push: branches: - main jobs: build-binary: runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v2 - name: Checkout submodules using a PAT run: | git config --file .gitmodules --get-regexp url | while read url; do git config --file=.gitmodules $(echo "$url" | sed -E "s/git@github.com:|https:\/\/github.com\//https:\/\/${{ secrets.CI_PAT }}:${{ secrets.CI_PAT }}@github.com\//") done git submodule sync git submodule update --init --recursive - name: build binary run: | docker build . -t builder docker run --rm -v ${PWD}:/project builder make - uses: actions/upload-artifact@master with: name: binary path: "*.rpx" deploy-binary: needs: build-binary runs-on: ubuntu-18.04 steps: - name: Get environment variables id: get_repository_name run: | echo REPOSITORY_NAME=$(echo "$GITHUB_REPOSITORY" | awk -F / '{print $2}' | sed -e "s/:refs//") >> $GITHUB_ENV echo DATETIME=$(echo $(date '+%Y%m%d-%H%M%S')) >> $GITHUB_ENV - uses: actions/download-artifact@master with: name: binary - name: zip artifact run: zip -r ${{ env.REPOSITORY_NAME }}_${{ env.DATETIME }}.zip *.rpx - name: Create Release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ env.REPOSITORY_NAME }}-${{ env.DATETIME }} release_name: Nightly-${{ env.REPOSITORY_NAME }}-${{ env.DATETIME }} draft: false prerelease: true body: | Not a stable release: ${{ github.event.head_commit.message }} - name: Upload Release Asset id: upload-release-asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps asset_path: ./${{ env.REPOSITORY_NAME }}_${{ env.DATETIME }}.zip asset_name: ${{ env.REPOSITORY_NAME }}_${{ env.DATETIME }}.zip asset_content_type: application/zip