From 0d529e6c046f9c8c5cb6a75bb89a2da210d505fc Mon Sep 17 00:00:00 2001 From: nicholaslyang Date: Thu, 6 Jun 2024 15:33:26 -0400 Subject: [PATCH] Fixing up release workflow --- .github/workflows/turborepo-release.yml | 145 +----------------------- Cargo.toml | 9 +- 2 files changed, 9 insertions(+), 145 deletions(-) diff --git a/.github/workflows/turborepo-release.yml b/.github/workflows/turborepo-release.yml index 1f7e39ae7b2a9..d44f3b354a98f 100644 --- a/.github/workflows/turborepo-release.yml +++ b/.github/workflows/turborepo-release.yml @@ -99,152 +99,9 @@ jobs: - name: Run JS Package Tests run: turbo run check-types test --filter="./packages/*" --color - build-rust: - name: "Build Rust" - needs: [stage, rust-smoke-test, js-smoke-test] - strategy: - fail-fast: false - matrix: - settings: - - host: macos-latest - target: "x86_64-apple-darwin" - container-options: "--rm" - - host: macos-latest - target: "aarch64-apple-darwin" - container-options: "--rm" - - host: ubuntu-latest - container: ubuntu:xenial - container-options: "--platform=linux/amd64 --rm" - container-setup: "apt-get update && apt-get install -y curl musl-tools sudo unzip" - target: "x86_64-unknown-linux-musl" - setup: "apt-get install -y build-essential clang-5.0 lldb-5.0 llvm-5.0-dev libclang-5.0-dev" - - host: ubuntu-latest - container-options: "--rm" - target: "aarch64-unknown-linux-musl" - rust-build-env: 'CC_aarch64_unknown_linux_musl=clang AR_aarch64_unknown_linux_musl=llvm-ar RUSTFLAGS="-Clink-self-contained=yes -Clinker=rust-lld"' - setup: "sudo apt-get update && sudo apt-get install -y build-essential musl-tools clang llvm gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu" - - host: windows-latest - target: x86_64-pc-windows-gnu - setup: "rustup set default-host x86_64-pc-windows-gnu" - container-options: "--rm" - runs-on: ${{ matrix.settings.host }} - container: - image: ${{ matrix.settings.container }} - options: ${{ matrix.settings.container-options }} - steps: - - name: Show Stage Commit - run: echo "${{ needs.stage.outputs.stage-branch }}" - - name: Checkout repo - uses: actions/checkout@v3 - with: - ref: "${{ needs.stage.outputs.stage-branch }}" - - - name: Setup Container - if: ${{ matrix.settings.container-setup }} - run: ${{ matrix.settings.container-setup }} - - - name: Setup Protoc - uses: arduino/setup-protoc@v2.1.0 - with: - version: "26.x" - repo-token: ${{ secrets.GITHUB_TOKEN }} - - - name: Setup capnproto - uses: ./.github/actions/setup-capnproto - - - name: Setup Rust Up - if: ${{ matrix.settings.container-setup }} - # setup-rust-toolchain uses the --retry-connrefused flag with curl to install rustup - # this flag was added in curl 7.52.0, but the Ubuntu version we use only has 7.47.0 - run: | - curl --proto '=https' --tlsv1.2 --retry 10 --location --silent --show-error --fail "https://sh.rustup.rs" | sh -s -- --default-toolchain none -y - echo "${CARGO_HOME:-$HOME/.cargo}/bin" >> $GITHUB_PATH - - - name: Rust Setup - uses: actions-rust-lang/setup-rust-toolchain@v1 - with: - target: ${{ matrix.settings.target }} - # needed to not make it override the defaults - rustflags: "" - # we want more specific settings - cache: false - - - name: Build Setup - shell: bash - if: ${{ matrix.settings.setup }} - run: ${{ matrix.settings.setup }} - - - name: Build - run: ${{ matrix.settings.rust-build-env }} cargo build --profile release-turborepo -p turbo --target ${{ matrix.settings.target }} - - - name: Upload Artifacts - uses: actions/upload-artifact@v3 - with: - name: turbo-${{ matrix.settings.target }} - path: target/${{ matrix.settings.target }}/release-turborepo/turbo* - - npm-publish: - name: "Publish To NPM" - runs-on: ubuntu-latest - needs: [stage, build-rust] - steps: - - name: Show Stage Commit - run: echo "${{ needs.stage.outputs.stage-branch }}" - - uses: actions/checkout@v3 - with: - ref: "${{ needs.stage.outputs.stage-branch }}" - - run: git fetch origin --tags - - uses: ./.github/actions/setup-node - with: - enable-corepack: false - - - name: Install Global Turbo - uses: ./.github/actions/install-global-turbo - - - name: Configure git - run: | - git config --global user.name 'Turbobot' - git config --global user.email 'turbobot@vercel.com' - - - name: Install GoReleaser - uses: goreleaser/goreleaser-action@v3 - with: - distribution: goreleaser-pro - version: v1.18.2 - install-only: true - env: - GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }} - - - name: Download Rust artifacts - uses: actions/download-artifact@v3 - with: - path: rust-artifacts - - - name: Move Rust artifacts into place - run: | - mv rust-artifacts/turbo-aarch64-apple-darwin cli/dist-darwin-arm64 - mv rust-artifacts/turbo-aarch64-unknown-linux-musl cli/dist-linux-arm64 - cp -r rust-artifacts/turbo-x86_64-pc-windows-gnu cli/dist-windows-arm64 - mv rust-artifacts/turbo-x86_64-unknown-linux-musl cli/dist-linux-amd64 - mv rust-artifacts/turbo-x86_64-apple-darwin cli/dist-darwin-amd64 - mv rust-artifacts/turbo-x86_64-pc-windows-gnu cli/dist-windows-amd64 - - - name: Perform Release - run: cd cli && make publish-turbo SKIP_PUBLISH=${{ inputs.dry_run && '--skip-publish' || '' }} - env: - GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }} - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - - # Upload published artifacts in case they are needed for debugging later - - name: Upload Artifacts - uses: actions/upload-artifact@v3 - with: - name: turbo-combined - path: cli/dist - create-release-pr: name: "Open Release Branch PR" - needs: [stage, npm-publish] + needs: [stage, js-smoke-test, rust-smoke-test] runs-on: ubuntu-latest steps: - name: Show Stage Commit diff --git a/Cargo.toml b/Cargo.toml index 805e2811d81d9..fc1ab25f5cbe6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -86,7 +86,14 @@ ci = "github" # The installers to generate for each app installers = ["npm"] # Target platforms to build apps for (Rust target-triple syntax) -targets = ["aarch64-apple-darwin", "aarch64-unknown-linux-musl", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-unknown-linux-musl", "x86_64-pc-windows-msvc"] +targets = [ + "aarch64-apple-darwin", + "aarch64-unknown-linux-musl", + "x86_64-apple-darwin", + "x86_64-unknown-linux-gnu", + "x86_64-unknown-linux-musl", + "x86_64-pc-windows-msvc", +] # The archive format to use for windows builds (defaults .zip) windows-archive = ".tar.gz" # The archive format to use for non-windows builds (defaults .tar.xz)