Download .github/workflows/rust-release-zsh.yml from SaylorTwift/codex: direct link, hf CLI and curl.
- Browser
- Download file 5.53 kB
-
https://huggingface.co/SaylorTwift/codex/resolve/main/.github/workflows/rust-release-zsh.yml
- Command line
-
hf download hf://SaylorTwift/codex/.github/workflows/rust-release-zsh.yml
-
curl -L -o rust-release-zsh.yml https://huggingface.co/SaylorTwift/codex/resolve/main/.github/workflows/rust-release-zsh.yml
5.53 kB
| name: rust-release-zsh | |
| on: | |
| push: | |
| tags: | |
| - "codex-zsh-v*.*.*" | |
| env: | |
| ZSH_COMMIT: 77045ef899e53b9598bebc5a41db93a548a40ca6 | |
| ZSH_PATCH: codex-rs/shell-escalation/patches/zsh-exec-wrapper.patch | |
| concurrency: | |
| group: ${{ github.workflow }}::${{ github.ref_name }} | |
| cancel-in-progress: false | |
| jobs: | |
| metadata: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| release_tag: ${{ steps.release_tag.outputs.release_tag }} | |
| steps: | |
| - name: Validate release tag | |
| id: release_tag | |
| env: | |
| RELEASE_TAG: ${{ github.ref_name }} | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| if [[ ! "${RELEASE_TAG}" =~ ^codex-zsh-v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then | |
| echo "Tag ${RELEASE_TAG} does not match codex-zsh-vX.Y.Z." >&2 | |
| exit 1 | |
| fi | |
| echo "release_tag=${RELEASE_TAG}" >> "${GITHUB_OUTPUT}" | |
| - name: Ensure release does not exist | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| RELEASE_TAG: ${{ steps.release_tag.outputs.release_tag }} | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| if gh release view "${RELEASE_TAG}" --repo "${GITHUB_REPOSITORY}" > /dev/null 2>&1; then | |
| echo "Release ${RELEASE_TAG} already exists; publish changed artifacts under a new tag." >&2 | |
| exit 1 | |
| fi | |
| linux: | |
| name: Build zsh (Linux) - ${{ matrix.variant }} - ${{ matrix.target }} | |
| needs: metadata | |
| runs-on: ${{ matrix.runner }} | |
| timeout-minutes: 30 | |
| container: | |
| image: ${{ matrix.image }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - runner: ubuntu-24.04 | |
| target: x86_64-unknown-linux-musl | |
| variant: ubuntu-24.04 | |
| image: ubuntu:24.04 | |
| archive_name: codex-zsh-x86_64-unknown-linux-musl.tar.gz | |
| - runner: ubuntu-24.04-arm | |
| target: aarch64-unknown-linux-musl | |
| variant: ubuntu-24.04 | |
| image: arm64v8/ubuntu:24.04 | |
| archive_name: codex-zsh-aarch64-unknown-linux-musl.tar.gz | |
| steps: | |
| - name: Install build prerequisites | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| apt-get update | |
| DEBIAN_FRONTEND=noninteractive apt-get install -y \ | |
| autoconf \ | |
| bison \ | |
| build-essential \ | |
| ca-certificates \ | |
| gettext \ | |
| git \ | |
| libncursesw5-dev | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: Build, smoke-test, and stage zsh artifact | |
| shell: bash | |
| run: | | |
| "${GITHUB_WORKSPACE}/.github/scripts/build-zsh-release-artifact.sh" \ | |
| "dist/zsh/${{ matrix.target }}/${{ matrix.archive_name }}" | |
| - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 | |
| with: | |
| name: codex-zsh-${{ matrix.target }} | |
| path: dist/zsh/${{ matrix.target }}/* | |
| darwin: | |
| name: Build zsh (macOS) - ${{ matrix.variant }} - ${{ matrix.target }} | |
| needs: metadata | |
| runs-on: ${{ matrix.runner }} | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - runner: macos-15-large | |
| target: x86_64-apple-darwin | |
| variant: macos-15 | |
| archive_name: codex-zsh-x86_64-apple-darwin.tar.gz | |
| - runner: macos-15-xlarge | |
| target: aarch64-apple-darwin | |
| variant: macos-15 | |
| archive_name: codex-zsh-aarch64-apple-darwin.tar.gz | |
| steps: | |
| - name: Install build prerequisites | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| if ! command -v autoconf >/dev/null 2>&1; then | |
| brew install autoconf | |
| fi | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: Build, smoke-test, and stage zsh artifact | |
| shell: bash | |
| run: | | |
| "${GITHUB_WORKSPACE}/.github/scripts/build-zsh-release-artifact.sh" \ | |
| "dist/zsh/${{ matrix.target }}/${{ matrix.archive_name }}" | |
| - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 | |
| with: | |
| name: codex-zsh-${{ matrix.target }} | |
| path: dist/zsh/${{ matrix.target }}/* | |
| publish-release: | |
| needs: | |
| - metadata | |
| - linux | |
| - darwin | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| actions: read | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| path: dist | |
| - name: Create GitHub Release | |
| uses: softprops/action-gh-release@153bb8e04406b158c6c84fc1615b65b24149a1fe # v2.6.1 | |
| with: | |
| tag_name: ${{ needs.metadata.outputs.release_tag }} | |
| name: ${{ needs.metadata.outputs.release_tag }} | |
| files: dist/** | |
| # Keep zsh artifact releases out of Codex's normal "latest release" channel. | |
| prerelease: true | |
| - name: Publish DotSlash manifest | |
| uses: ./.github/actions/publish-dotslash | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| tag: ${{ needs.metadata.outputs.release_tag }} | |
| configs: .github/dotslash-zsh-config.json | |