Skip to content

Fix ep.PythonCmd return values. (#46) #74

Fix ep.PythonCmd return values. (#46)

Fix ep.PythonCmd return values. (#46) #74

Workflow file for this run

name: release
on:
push:
branches:
- 'main'
pull_request:
branches:
- 'main'
env:
PYTHON_STANDALONE_VERSIONS: |
[
"20240415"
]
PYTHON_VERSIONS: |
[
"3.10.14",
"3.11.9",
"3.12.3"
]
jobs:
build-matrix:
runs-on: ubuntu-latest
outputs:
PYTHON_STANDALONE_VERSIONS: ${{ env.PYTHON_STANDALONE_VERSIONS }}
PYTHON_VERSIONS: ${{ env.PYTHON_VERSIONS }}
steps:
- name: noop
run: |
echo noop
build-tag:
needs:
- build-matrix
strategy:
matrix:
pythonStandaloneVersion: ${{ fromJSON(needs.build-matrix.outputs.PYTHON_STANDALONE_VERSIONS) }}
pythonVersion: ${{ fromJSON(needs.build-matrix.outputs.PYTHON_VERSIONS) }}
fail-fast: false
runs-on: ubuntu-22.04
steps:
- name: clone
run: |
# can't use actions/checkout here as transferring the shallow clone fails when using upload-/download-artifact
git clone https://github.com/$GITHUB_REPOSITORY . --depth=1
- name: checkout PR
if: ${{ github.event_name == 'pull_request' }}
run: |
echo fetching pull/${{ github.ref_name }}
git fetch origin pull/${{ github.ref_name }}:pr --depth=1
git checkout pr
- name: checkout branch
if: ${{ github.event_name == 'push' }}
run: |
echo fetching ${{ github.ref_name }}
git fetch origin ${{ github.ref_name }} --depth=1
git checkout ${{ github.ref_name }}
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.19
- uses: actions/cache@v4
with:
path: |
~/go/pkg/mod
~/.cache/go-build
key: ${{ runner.os }}-${{ matrix.pythonStandaloneVersion }}-${{ matrix.pythonVersion }}-build-tag-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-${{ matrix.pythonStandaloneVersion }}-${{ matrix.pythonVersion }}-build-tag-
- name: build-tag
run: |
git config --global user.email "[email protected]"
git config --global user.name "go-embed-python releaser"
BUILD_NUM=$(./hack/next-build-num.sh ${{ matrix.pythonStandaloneVersion }} ${{ matrix.pythonVersion }})
./hack/build-tag.sh ${{ matrix.pythonStandaloneVersion }} ${{ matrix.pythonVersion }} $BUILD_NUM
echo $BUILD_NUM > build-num
- name: git gc
run: |
git gc
- uses: actions/upload-artifact@v4
with:
name: workdir-${{ matrix.pythonStandaloneVersion }} ${{ matrix.pythonVersion }}
path: |
.git
build-num
tests:
needs:
- build-matrix
- build-tag
strategy:
matrix:
os:
- ubuntu-22.04
- macos-12
- windows-2019
pythonStandaloneVersion: ${{ fromJSON(needs.build-matrix.outputs.PYTHON_STANDALONE_VERSIONS) }}
pythonVersion: ${{ fromJSON(needs.build-matrix.outputs.PYTHON_VERSIONS) }}
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.19
- uses: actions/cache@v4
with:
path: |
~/go/pkg/mod
~/.cache/go-build
key: ${{ runner.os }}-${{ matrix.pythonStandaloneVersion }}-${{ matrix.pythonVersion }}-tests-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-${{ matrix.pythonStandaloneVersion }}-${{ matrix.pythonVersion }}-tests-
- uses: actions/download-artifact@v4
with:
name: workdir-${{ matrix.pythonStandaloneVersion }} ${{ matrix.pythonVersion }}
- name: checkout tag
shell: bash
run: |
git reset --hard
git checkout v0.0.0-${{ matrix.pythonVersion }}-${{ matrix.pythonStandaloneVersion }}-$(cat build-num)
- name: run tests
shell: bash
run: |
go test ./... -v
release:
needs:
- build-matrix
- tests
strategy:
matrix:
pythonStandaloneVersion: ${{ fromJSON(needs.build-matrix.outputs.PYTHON_STANDALONE_VERSIONS) }}
pythonVersion: ${{ fromJSON(needs.build-matrix.outputs.PYTHON_VERSIONS) }}
fail-fast: false
runs-on: ubuntu-22.04
if: ${{ github.event_name == 'push' && github.ref_name == 'main' }}
permissions:
contents: write
actions: write
steps:
- uses: actions/download-artifact@v4
with:
name: workdir-${{ matrix.pythonStandaloneVersion }} ${{ matrix.pythonVersion }}
- name: update remote url
run: |
git remote set-url origin https://token:[email protected]/$GITHUB_REPOSITORY
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: push tag
run: |
git push origin v0.0.0-${{ matrix.pythonVersion }}-${{ matrix.pythonStandaloneVersion }}-$(cat build-num)