downloads-khinsider-com-dl

Download all songs at once from downloads.khinsider.com
git clone https://git.ea.contact/downloads-khinsider-com-dl
Log | Files | Refs | README

commit 1a21e300e0b68acd293e5e081e3b92854480a5ff
parent 631b3ac8e165b3188315672bac371fb3fe7d2b3e
Author: egor-achkasov <eaachkasov@gmail.com>
Date:   Thu, 12 Mar 2026 22:07:46 +0000

Add github workflows

Diffstat:
A.github/workflows/build.yml | 111+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 111 insertions(+), 0 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml @@ -0,0 +1,110 @@ +name: Build Windows Executables + +on: + push: + +jobs: + check: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v4 + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + with: + targets: x86_64-pc-windows-msvc + + - name: Cache cargo registry + uses: actions/cache@v4 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: ${{ runner.os }}-cargo- + + - name: Cargo check + run: cargo check --all-targets + + build: + needs: check + if: github.ref == 'refs/heads/master' + runs-on: windows-latest + + steps: + - uses: actions/checkout@v4 + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + with: + targets: x86_64-pc-windows-msvc + + - name: Cache cargo registry + uses: actions/cache@v4 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: ${{ runner.os }}-cargo- + + - name: Build CLI + run: cargo build --release --bin downloads-khinsider-com-dl-cli + + - name: Upload CLI artifact + uses: actions/upload-artifact@v4 + with: + name: downloads-khinsider-com-dl-cli + path: target/release/downloads-khinsider-com-dl-cli.exe + + release: + needs: build + runs-on: ubuntu-latest + permissions: + contents: write + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Download CLI artifact + uses: actions/download-artifact@v4 + with: + name: downloads-khinsider-com-dl-cli + path: artifacts/ + + - name: Generate changelog + id: changelog + run: | + PREV_TAG=$(git tag --sort=-version:refname | head -n 1) + if [ -z "$PREV_TAG" ]; then + CHANGELOG=$(git log --pretty=format:"- %s (%h)" | head -20) + else + CHANGELOG=$(git log "$PREV_TAG"..HEAD --pretty=format:"- %s (%h)") + fi + echo "CHANGELOG<<EOF" >> $GITHUB_OUTPUT + echo "$CHANGELOG" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT + + - name: Create release tag + id: tag + run: | + TAG="release-$(date +'%Y%m%d%H%M%S')" + git tag "$TAG" + git push origin "$TAG" + echo "TAG=$TAG" >> $GITHUB_OUTPUT + + - name: Create GitHub release + uses: softprops/action-gh-release@v2 + with: + tag_name: ${{ steps.tag.outputs.TAG }} + name: Release ${{ steps.tag.outputs.TAG }} + body: | + ## Changes + ${{ steps.changelog.outputs.CHANGELOG }} + files: | + artifacts/downloads-khinsider-com-dl-cli.exe +\ No newline at end of file