mirror of
https://github.com/plexusorg/IBConverter.git
synced 2024-12-22 17:47:37 +00:00
Merge remote-tracking branch 'origin/rust'
This commit is contained in:
commit
b563db71ea
277
.github/workflows/build.yml
vendored
Normal file
277
.github/workflows/build.yml
vendored
Normal file
@ -0,0 +1,277 @@
|
|||||||
|
'on':
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- '*'
|
||||||
|
pull_request: null
|
||||||
|
jobs:
|
||||||
|
check:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: ~/.cargo/registry
|
||||||
|
key: '${{ runner.os }}-cargo-registry-${{ hashFiles(''**/Cargo.lock'') }}'
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: ~/.cargo/git
|
||||||
|
key: '${{ runner.os }}-cargo-index-${{ hashFiles(''**/Cargo.lock'') }}'
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: target
|
||||||
|
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
- uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
profile: minimal
|
||||||
|
toolchain: stable
|
||||||
|
override: true
|
||||||
|
- uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: check
|
||||||
|
test:
|
||||||
|
runs-on: '${{ matrix.os }}'
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: macos-latest
|
||||||
|
- os: ubuntu-latest
|
||||||
|
- os: windows-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: ~/.cargo/registry
|
||||||
|
key: '${{ runner.os }}-cargo-registry-${{ hashFiles(''**/Cargo.lock'') }}'
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: ~/.cargo/git
|
||||||
|
key: '${{ runner.os }}-cargo-index-${{ hashFiles(''**/Cargo.lock'') }}'
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: target
|
||||||
|
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
- uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
profile: minimal
|
||||||
|
toolchain: stable
|
||||||
|
override: true
|
||||||
|
- uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: test
|
||||||
|
- uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: run
|
||||||
|
args: '-- -h'
|
||||||
|
lints:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: ~/.cargo/registry
|
||||||
|
key: '${{ runner.os }}-cargo-registry-${{ hashFiles(''**/Cargo.lock'') }}'
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: ~/.cargo/git
|
||||||
|
key: '${{ runner.os }}-cargo-index-${{ hashFiles(''**/Cargo.lock'') }}'
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: target
|
||||||
|
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
- uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
profile: minimal
|
||||||
|
toolchain: stable
|
||||||
|
override: true
|
||||||
|
components: 'rustfmt, clippy'
|
||||||
|
- uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: fmt
|
||||||
|
args: '--all -- --check'
|
||||||
|
- uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: clippy
|
||||||
|
args: '-- -D warnings'
|
||||||
|
version:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@master
|
||||||
|
with:
|
||||||
|
lfs: true
|
||||||
|
- run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
|
||||||
|
- id: get_previous_version
|
||||||
|
run: echo ::set-output name=PREVIOUS_VERSION::$(git describe --tags "$(git rev-list --tags --max-count=1)")
|
||||||
|
shell: bash
|
||||||
|
- id: semvers
|
||||||
|
uses: WyriHaximus/github-action-next-semvers@master
|
||||||
|
with:
|
||||||
|
version: '${{ steps.get_previous_version.outputs.PREVIOUS_VERSION }}'
|
||||||
|
- run: mkdir -p ./version
|
||||||
|
- if: "!contains(github.event.head_commit.message, 'BC BREAK') && !contains(github.event.head_commit.message, 'Signed-off-by: dependabot-preview[bot] <support@dependabot.com>')"
|
||||||
|
run: echo "$VERSION" >./version/version
|
||||||
|
env:
|
||||||
|
VERSION: ${{ steps.semvers.outputs.v_minor }}
|
||||||
|
- if: "contains(github.event.head_commit.message, 'Signed-off-by: dependabot-preview[bot] <support@dependabot.com>')"
|
||||||
|
run: echo "$VERSION" >./version/version
|
||||||
|
env:
|
||||||
|
VERSION: ${{ steps.semvers.outputs.v_patch }}
|
||||||
|
- run: echo "$VERSION" > ./version/version
|
||||||
|
env:
|
||||||
|
VERSION: ${{ steps.semvers.outputs.v_major }}
|
||||||
|
if: "contains(github.event.head_commit.message, 'BC BREAK')"
|
||||||
|
- uses: actions/upload-artifact@master
|
||||||
|
with:
|
||||||
|
name: version
|
||||||
|
path: ./version/version
|
||||||
|
build:
|
||||||
|
needs:
|
||||||
|
- version
|
||||||
|
- lints
|
||||||
|
- test
|
||||||
|
- check
|
||||||
|
runs-on: '${{ matrix.os }}'
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: macos-latest
|
||||||
|
target: x86_64-apple-darwin
|
||||||
|
suffix: ''
|
||||||
|
- os: ubuntu-latest
|
||||||
|
target: x86_64-unknown-linux-gnu
|
||||||
|
suffix: ''
|
||||||
|
- os: windows-latest
|
||||||
|
target: x86_64-pc-windows-msvc
|
||||||
|
suffix: .exe
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@master
|
||||||
|
with:
|
||||||
|
lfs: true
|
||||||
|
- id: get_repository_name
|
||||||
|
run: echo ::set-output name=REPOSITORY_NAME::$(echo "$GITHUB_REPOSITORY" | awk -F / '{print $2}' | sed -e "s/:refs//")
|
||||||
|
shell: bash
|
||||||
|
- uses: actions/download-artifact@master
|
||||||
|
with:
|
||||||
|
name: version
|
||||||
|
- id: get_version
|
||||||
|
run: 'echo ::set-output "name=VERSION::$(cat ./version/version)"'
|
||||||
|
shell: bash
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: ~/.cargo/registry
|
||||||
|
key: '${{ runner.os }}-cargo-registry-${{ hashFiles(''**/Cargo.lock'') }}'
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: ~/.cargo/git
|
||||||
|
key: '${{ runner.os }}-cargo-index-${{ hashFiles(''**/Cargo.lock'') }}'
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: target
|
||||||
|
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
- uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
profile: minimal
|
||||||
|
toolchain: stable
|
||||||
|
override: true
|
||||||
|
- uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: install
|
||||||
|
args: 'toml-cli'
|
||||||
|
- shell: bash
|
||||||
|
env:
|
||||||
|
VERSION: '${{ steps.get_version.outputs.VERSION }}'
|
||||||
|
run: |
|
||||||
|
TEMP_FILE="$(mktemp)"
|
||||||
|
toml set Cargo.toml package.version "${VERSION:1}" > "$TEMP_FILE"
|
||||||
|
mv "$TEMP_FILE" Cargo.toml
|
||||||
|
- uses: actions-rs/cargo@v1
|
||||||
|
env:
|
||||||
|
VERSION: '${{ steps.get_version.outputs.VERSION }}'
|
||||||
|
REPOSITORY_NAME: '${{ steps.get_repository_name.outputs.REPOSITORY_NAME }}'
|
||||||
|
with:
|
||||||
|
command: build
|
||||||
|
args: '--release'
|
||||||
|
- uses: actions/upload-artifact@master
|
||||||
|
with:
|
||||||
|
name: ${{ steps.get_repository_name.outputs.REPOSITORY_NAME }}-${{ matrix.target }}
|
||||||
|
path: ./target/release/${{ steps.get_repository_name.outputs.REPOSITORY_NAME }}${{ matrix.suffix }}
|
||||||
|
release:
|
||||||
|
if: github.ref == 'refs/heads/master'
|
||||||
|
needs:
|
||||||
|
- build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@master
|
||||||
|
with:
|
||||||
|
lfs: true
|
||||||
|
- id: get_repository_name
|
||||||
|
run: echo ::set-output name=REPOSITORY_NAME::$(echo "$GITHUB_REPOSITORY" | awk -F / '{print $2}' | sed -e "s/:refs//")
|
||||||
|
shell: bash
|
||||||
|
- uses: actions/download-artifact@master
|
||||||
|
with:
|
||||||
|
name: version
|
||||||
|
- id: get_version
|
||||||
|
run: 'echo ::set-output name=VERSION::$(cat ./version/version)'
|
||||||
|
shell: bash
|
||||||
|
- uses: actions/download-artifact@master
|
||||||
|
with:
|
||||||
|
name: ${{ steps.get_repository_name.outputs.REPOSITORY_NAME }}-x86_64-unknown-linux-gnu
|
||||||
|
- uses: actions/download-artifact@master
|
||||||
|
with:
|
||||||
|
name: ${{ steps.get_repository_name.outputs.REPOSITORY_NAME }}-x86_64-apple-darwin
|
||||||
|
- uses: actions/download-artifact@master
|
||||||
|
with:
|
||||||
|
name: ${{ steps.get_repository_name.outputs.REPOSITORY_NAME }}-x86_64-pc-windows-msvc
|
||||||
|
- uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
profile: minimal
|
||||||
|
toolchain: stable
|
||||||
|
override: true
|
||||||
|
- uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: install
|
||||||
|
args: 'toml-cli'
|
||||||
|
- run: |
|
||||||
|
TEMP_FILE="$(mktemp)"
|
||||||
|
toml set Cargo.toml package.version "${VERSION:1}" > "$TEMP_FILE"
|
||||||
|
mv "$TEMP_FILE" Cargo.toml
|
||||||
|
shell: bash
|
||||||
|
env:
|
||||||
|
VERSION: '${{ steps.get_version.outputs.VERSION }}'
|
||||||
|
- uses: stefanzweifel/git-auto-commit-action@v4.1.3
|
||||||
|
with:
|
||||||
|
commit_message: Bump cargo version
|
||||||
|
branch: ${{ github.head_ref }}
|
||||||
|
file_pattern: Cargo.toml
|
||||||
|
- id: create_release
|
||||||
|
uses: actions/create-release@v1.0.0
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: '${{ secrets.COMMITTER_TOKEN }}'
|
||||||
|
with:
|
||||||
|
tag_name: '${{ steps.get_version.outputs.VERSION }}'
|
||||||
|
release_name: 'Release ${{ steps.get_version.outputs.VERSION }}'
|
||||||
|
draft: false
|
||||||
|
prerelease: false
|
||||||
|
- uses: actions/upload-release-asset@v1.0.1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
||||||
|
with:
|
||||||
|
upload_url: '${{ steps.create_release.outputs.upload_url }}'
|
||||||
|
asset_path: ./${{ steps.get_repository_name.outputs.REPOSITORY_NAME }}-x86_64-unknown-linux-gnu/${{ steps.get_repository_name.outputs.REPOSITORY_NAME }}
|
||||||
|
asset_name: ${{ steps.get_repository_name.outputs.REPOSITORY_NAME }}-x86_64-unknown-linux-gnu
|
||||||
|
asset_content_type: application/octet-stream
|
||||||
|
- uses: actions/upload-release-asset@v1.0.1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
||||||
|
with:
|
||||||
|
upload_url: '${{ steps.create_release.outputs.upload_url }}'
|
||||||
|
asset_path: ./${{ steps.get_repository_name.outputs.REPOSITORY_NAME }}-x86_64-apple-darwin/${{ steps.get_repository_name.outputs.REPOSITORY_NAME }}
|
||||||
|
asset_name: ${{ steps.get_repository_name.outputs.REPOSITORY_NAME }}-x86_64-apple-darwin
|
||||||
|
asset_content_type: application/octet-stream
|
||||||
|
- uses: actions/upload-release-asset@v1.0.1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
||||||
|
with:
|
||||||
|
upload_url: '${{ steps.create_release.outputs.upload_url }}'
|
||||||
|
asset_path: ./${{ steps.get_repository_name.outputs.REPOSITORY_NAME }}-x86_64-pc-windows-msvc/${{ steps.get_repository_name.outputs.REPOSITORY_NAME }}.exe
|
||||||
|
asset_name: ${{ steps.get_repository_name.outputs.REPOSITORY_NAME }}-x86_64-pc-windows-msvc.exe
|
||||||
|
asset_content_type: application/octet-stream
|
0
.github/workflows/build.yml.bak
vendored
Normal file
0
.github/workflows/build.yml.bak
vendored
Normal file
Loading…
Reference in New Issue
Block a user