diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 07adbc8a..e41ba2a0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,37 +12,18 @@ on: - develop jobs: - release: + create_release: name: Create GitHub Release runs-on: ubuntu-latest + outputs: + upload_url: ${{ steps.create_release.outputs.upload_url }} + permissions: + contents: write steps: - - name: Check - if: contains(github.ref, 'tags/v') - id: check - run: echo "::set-output name=MAKE_RELEASE::true" - - name: Create Release + if: contains(github.ref, 'tags/v') id: create_release - if: steps.check.outputs.MAKE_RELEASE - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ github.ref }} - release_name: ${{ github.ref }} - draft: false - prerelease: false - - - name: Output Release URL File - if: steps.check.outputs.MAKE_RELEASE - run: echo "${{ steps.create_release.outputs.upload_url }}" > release_url.txt - - - name: Save Release URL File for Publish - if: steps.check.outputs.MAKE_RELEASE - uses: actions/upload-artifact@v4 - with: - name: release_url - path: release_url.txt + uses: ncipollo/release-action@v1 manylinux: strategy: @@ -52,7 +33,9 @@ jobs: # - aarch64 runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-arm-latest' || 'ubuntu-latest' }} name: Codon CI (manylinux) - needs: [ release ] + needs: create_release + permissions: + contents: write steps: - uses: actions/checkout@v4 @@ -71,39 +54,22 @@ jobs: if: matrix.arch == 'aarch64' uses: ./.github/actions/build-manylinux-aarch64 - - name: Load Release URL File - if: contains(github.ref, 'tags/v') - uses: actions/download-artifact@v4 - with: - name: release_url - - - name: Get Release URL - id: get_release_url - if: contains(github.ref, 'tags/v') - run: | - echo ::set-output name=file_name::${REPOSITORY_NAME##*/}-${TAG_REF_NAME##*/v} # RepositoryName-v1.0.0 - value=`cat release_url/release_url.txt` - echo ::set-output name=upload_url::$value - env: - TAG_REF_NAME: ${{ github.ref }} - REPOSITORY_NAME: ${{ github.repository }} - - name: Upload Release Asset if: contains(github.ref, 'tags/v') uses: actions/upload-release-asset@v1.0.2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - upload_url: ${{ steps.get_release_url.outputs.upload_url }} - asset_path: ./codon-linux-${{ matrix.arch }}.tar.gz - asset_name: codon-linux-${{ matrix.arch }}.tar.gz + upload_url: ${{ needs.create_release.outputs.upload_url }} + asset_path: ./codon-linux-x86_64.tar.gz + asset_name: codon-linux-x86_64.tar.gz asset_content_type: application/gzip - name: Upload Artifacts uses: actions/upload-artifact@v4 with: - name: manylinux-${{ matrix.arch }} - path: codon-linux-${{ matrix.arch }}.tar.gz + name: manylinux-x86_64 + path: codon-linux-x86_64.tar.gz main: strategy: @@ -114,7 +80,10 @@ jobs: # - ubuntu-arm-latest runs-on: ${{ matrix.os }} name: Codon CI - needs: [ release ] + needs: create_release + permissions: + contents: write + id-token: write steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 @@ -222,51 +191,31 @@ jobs: tar -czf ${CODON_BUILD_ARCHIVE} codon-deploy du -sh codon-deploy - - name: Load Release URL File - if: contains(github.ref, 'tags/v') - uses: actions/download-artifact@v4 - with: - name: release_url - - - name: Get Release URL - id: get_release_url - if: contains(github.ref, 'tags/v') - run: | - echo ::set-output name=file_name::${REPOSITORY_NAME##*/}-${TAG_REF_NAME##*/v} # RepositoryName-v1.0.0 - value=`cat release_url/release_url.txt` - echo ::set-output name=upload_url::$value - env: - TAG_REF_NAME: ${{ github.ref }} - REPOSITORY_NAME: ${{ github.repository }} - - name: Upload Release Asset if: contains(github.ref, 'tags/v') && startsWith(matrix.os, 'macos') uses: actions/upload-release-asset@v1.0.2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - upload_url: ${{ steps.get_release_url.outputs.upload_url }} - asset_path: ./codon-darwin-arm64.tar.gz - asset_name: codon-darwin-arm64.tar.gz + upload_url: ${{ needs.create_release.outputs.upload_url }} + asset_path: ./codon-darwin-x86_64.tar.gz + asset_name: codon-darwin-x86_64.tar.gz asset_content_type: application/gzip - name: Upload Artifacts if: startsWith(matrix.os, 'macos') uses: actions/upload-artifact@v4 with: - name: ${{ matrix.os }}-arm64 - path: codon-darwin-arm64.tar.gz + name: ${{ matrix.os }}-x86_64 + path: codon-darwin-x86_64.tar.gz - name: Upload Artifacts - if: startsWith(matrix.os, 'ubuntu') && matrix.os != 'ubuntu-arm-latest' + if: startsWith(matrix.os, 'ubuntu') uses: actions/upload-artifact@v4 with: name: ${{ matrix.os }}-x86_64 path: codon-linux-x86_64.tar.gz - - name: Upload Artifacts - if: matrix.os == 'ubuntu-arm-latest' - uses: actions/upload-artifact@v4 - with: - name: ${{ matrix.os }}-arm64 - path: codon-linux-arm64.tar.gz + # - name: Publish Package + # if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') && startsWith(matrix.os, 'ubuntu') + # uses: pypa/gh-action-pypi-publish@release/v1