Skip to content

Commit

Permalink
Try to fix ci for release (#9)
Browse files Browse the repository at this point in the history
* Error if upload-artifact can't find the files it has to upload

* run maturin stuff on every branch

* Run Rust release on every branch

* Put dist folder one level up

* Try building library

* Change to CLI

* Upload cli artifact

* Rename built cli artifact
  • Loading branch information
AngheloAlf authored Dec 16, 2023
1 parent a81ab0e commit 64ea4b1
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 25 deletions.
22 changes: 12 additions & 10 deletions .github/workflows/maturin_upload_pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,6 @@ name: Upload to PyPI

on:
push:
branches:
- main
- master
tags:
- '*'
pull_request:
workflow_dispatch:

Expand All @@ -34,7 +29,7 @@ jobs:
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
args: --release --out ../dist --find-interpreter
sccache: 'true'
manylinux: auto
working-directory: lib/
Expand All @@ -43,6 +38,7 @@ jobs:
with:
name: wheels
path: dist
if-no-files-found: error

windows:
runs-on: windows-latest
Expand All @@ -60,14 +56,15 @@ jobs:
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
args: --release --out ../dist --find-interpreter
sccache: 'true'
working-directory: lib/
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist
if-no-files-found: error

macos:
runs-on: macos-latest
Expand All @@ -84,32 +81,37 @@ jobs:
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
args: --release --out ../dist --find-interpreter
sccache: 'true'
working-directory: lib/
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist
if-no-files-found: error

sdist:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v3
- name: Checkout repo
uses: actions/checkout@v4

- name: Build sdist
uses: PyO3/maturin-action@v1
with:
command: sdist
args: --out dist
args: --out ../dist
working-directory: lib/

- name: Upload sdist
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist
if-no-files-found: error

release:
name: Release
Expand Down
60 changes: 45 additions & 15 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,42 +1,72 @@
name: Rust crate and cli release

on:
release:
types: [created]
push:
pull_request:
workflow_dispatch:

jobs:
release:
name: release ${{ matrix.target }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
include: # https://github.com/rust-build/rust-build.action#supported-targets
- target: x86_64-pc-windows-gnu
archive: zip
- target: x86_64-pc-windows-msvc
archive: zip
- target: x86_64-apple-darwin
archive: zip
- target: x86_64-unknown-linux-musl
archive: tar.gz
- target: x86_64-unknown-linux-gnu
archive: tar.gz

steps:
- uses: actions/checkout@master
- name: Compile and release
- name: Checkout repo
uses: actions/checkout@v4

- name: Compile cli for artifact
id: compile_cli
uses: rust-build/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
RUSTTARGET: ${{ matrix.target }}
ARCHIVE_TYPES: ${{ matrix.archive }}
SRC_DIR: cli/
UPLOAD_MODE: none

- name: Upload cli artifact
uses: actions/upload-artifact@v3
with:
name: crunch64-cli-${{ matrix.target }}
path: |
${{ steps.compile_cli.outputs.BUILT_ARCHIVE }}
${{ steps.compile_cli.outputs.BUILT_CHECKSUM }}
- name: Compile and release cli
uses: rust-build/[email protected]
if: "startsWith(github.ref, 'refs/tags/')"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
RUSTTARGET: ${{ matrix.target }}
ARCHIVE_TYPES: ${{ matrix.archive }}
SRC_DIR: cli/
UPLOAD_MODE: release
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
- name: Checkout repo
uses: actions/checkout@v4

- name: Setup Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- uses: katyo/publish-crates@v2
toolchain: stable
override: true

- name: Publish crate
uses: katyo/publish-crates@v2
if: "startsWith(github.ref, 'refs/tags/')"
with:
registry-token: ${{ secrets.CRATE_AUTH_TOKEN }}
registry-token: ${{ secrets.CRATE_AUTH_TOKEN }}

0 comments on commit 64ea4b1

Please sign in to comment.