From ef34f0bb4798a0d1410fffc974f084e4c6cfb920 Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Fri, 28 Jun 2024 14:53:43 +0100 Subject: Initial commit --- .github/FUNDING.yml | 1 + .github/ISSUE_TEMPLATE/bug_report.md | 17 ++++++ .github/ISSUE_TEMPLATE/feature_request.md | 20 +++++++ .../PULL_REQUEST_TEMPLATE/pull_request_template.md | 29 ++++++++++ .github/workflows/ci.yml | 22 ++++++++ .github/workflows/deps.yml | 15 ++++++ .github/workflows/release.yml | 62 ++++++++++++++++++++++ 7 files changed, 166 insertions(+) create mode 100644 .github/FUNDING.yml create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/PULL_REQUEST_TEMPLATE/pull_request_template.md create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/deps.yml create mode 100644 .github/workflows/release.yml (limited to '.github') diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..033cde3 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: pay.sommerfeld.dev diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..1848673 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,17 @@ +--- +name: Bug report +about: Report a bug +title: '' +labels: bug +assignees: sommerfelddev + +--- + +**Bug Description** + +**To Reproduce** + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Environment** diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..85ccdfe --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea +title: '' +labels: enhancement +assignees: sommerfelddev + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md new file mode 100644 index 0000000..dc6d5e4 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md @@ -0,0 +1,29 @@ +--- +name: Pull Request +about: Submit a pull request +title: '' +--- + + + +# Description + + + + +# Notes for reviewers + + + diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..67f18c3 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,22 @@ +name: CI + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +env: + CARGO_TERM_COLOR: always + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Build + run: cargo build --verbose + - name: Run tests + run: cargo test --verbose diff --git a/.github/workflows/deps.yml b/.github/workflows/deps.yml new file mode 100644 index 0000000..344131f --- /dev/null +++ b/.github/workflows/deps.yml @@ -0,0 +1,15 @@ +name: Bump deps + +on: + workflow_dispatch: +jobs: + latest_deps: + name: Latest Dependencies + runs-on: ubuntu-latest + continue-on-error: true + steps: + - uses: actions/checkout@v3 + - run: rustup update stable && rustup default stable + - run: cargo update --verbose + - run: cargo build --verbose + - run: cargo test --verbose diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..720b337 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,62 @@ +name: Release +on: + push: + tags: + - v* + branches: + - v* +jobs: + release: + strategy: + matrix: + platform: + - os: ubuntu-latest + target: x86_64-unknown-linux-gnu + bin: viewercount + name: viewercount-${{ github.ref_name }}-linux-x86_64 + - os: ubuntu-latest + target: aarch64-unknown-linux-gnu + bin: viewercount + name: viewercount-${{ github.ref_name }}-linux-aarch64 + - os: windows-latest + target: x86_64-pc-windows-msvc + bin: viewercount.exe + name: viewercount-${{ github.ref_name }}-windows-x86_64 + - os: macos-latest + target: x86_64-apple-darwin + bin: viewercount + name: viewercount-${{ github.ref_name }}-darwin-x86_64 + runs-on: ${{ matrix.platform.os }} + steps: + - uses: actions/checkout@v4 + - uses: Swatinem/rust-cache@v2 + - name: Build binary + uses: houseabsolute/actions-rust-cross@v0 + with: + target: ${{ matrix.platform.target }} + args: "--locked --release" + strip: true + - name: Package + shell: bash + run: | + mkdir ${{ matrix.platform.name }} + cp target/${{ matrix.platform.target }}/release/${{ matrix.platform.bin }} ${{ matrix.platform.name }} + cp LICENSE.txt ${{ matrix.platform.name }} + cp README.md ${{ matrix.platform.name }} + if [[ "${{ matrix.platform.os }}" == "windows-latest" ]] + then + 7z a ${{ matrix.platform.name }}.zip ${{ matrix.platform.name }} + else + tar czvf ${{ matrix.platform.name }}.tar.gz ${{ matrix.platform.name }} + fi + - name: Generate Changelog + run: utils/generate_changelog.sh > ${{ github.workspace }}-CHANGELOG.md + - name: Publish + uses: softprops/action-gh-release@v2 + if: startsWith(github.ref, 'refs/tags/') + with: + body_path: ${{ github.workspace }}-CHANGELOG.md + fail_on_unmatched_files: true + files: viewercount-* + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -- cgit v1.2.3-70-g09d2