From 80e236dce87be2faf363e273eeb22486b574f4c5 Mon Sep 17 00:00:00 2001 From: Telesphoreo Date: Sat, 14 May 2022 01:06:31 -0500 Subject: [PATCH] copy and paste that shit --- .github/workflows/build.yml | 277 ++++++++++++++++++++++++++++++++ .github/workflows/build.yml.bak | 0 2 files changed, 277 insertions(+) create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/build.yml.bak diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..a3d51dc --- /dev/null +++ b/.github/workflows/build.yml @@ -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] ')" + 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] ')" + 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 \ No newline at end of file diff --git a/.github/workflows/build.yml.bak b/.github/workflows/build.yml.bak new file mode 100644 index 0000000..e69de29