From 51313675d0b4b74439d58969ebb04e4d0a074a19 Mon Sep 17 00:00:00 2001 From: XenoAmess Date: Mon, 27 Jan 2025 09:45:41 +0800 Subject: [PATCH] add github actions --- .github/workflows/build.yml | 50 +++++++++++++++++++++++++++++ .github/workflows/release.yml | 59 +++++++++++++++++++++++++++++++++++ .gitignore | 36 +++++++++++++++++++++ 3 files changed, 145 insertions(+) create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..6e3727a --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,50 @@ +# .github/workflows/release.yml + +on: push + +jobs: + release: + name: release ${{ matrix.target }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - target: x86_64-pc-windows-gnu + archive: zip + - target: x86_64-unknown-linux-musl + archive: tar.gz + steps: + - uses: actions/checkout@master + - name: Compile and release + uses: rust-build/rust-build.action@v1.4.5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + RUSTTARGET: ${{ matrix.target }} + ARCHIVE_TYPES: ${{ matrix.archive }} + msys2-build-test: + strategy: + fail-fast: false + matrix: + sys: [MINGW64, UCRT64,CLANG64] + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - name: Setup MSYS2 + uses: msys2/setup-msys2@v2 + with: + msystem: ${{ matrix.sys }} + update: true + install: base-devel git + pacboy: >- + rust:p + - name: Run cargo + shell: msys2 {0} + run: cargo build --release + - name: Run tests + shell: msys2 {0} + run: cargo test --release + - name: Rename Compile Output + shell: msys2 {0} + run: mv target/release/krak2.exe target/release/${{ matrix.sys }}_krak2.exe diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..dc5a8ec --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,59 @@ +# .github/workflows/release.yml + +on: + release: + types: [created] + +jobs: + release: + name: release ${{ matrix.target }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - target: x86_64-pc-windows-gnu + archive: zip + - target: x86_64-unknown-linux-musl + archive: tar.gz + steps: + - uses: actions/checkout@master + - name: Compile and release + uses: rust-build/rust-build.action@v1.4.5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + RUSTTARGET: ${{ matrix.target }} + ARCHIVE_TYPES: ${{ matrix.archive }} + msys2-build-test: + strategy: + fail-fast: false + matrix: + sys: [MINGW64, UCRT64,CLANG64] + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - name: Setup MSYS2 + uses: msys2/setup-msys2@v2 + with: + msystem: ${{ matrix.sys }} + update: true + install: base-devel git + pacboy: >- + rust:p + - name: Run cargo + shell: msys2 {0} + run: cargo build --release + - name: Run tests + shell: msys2 {0} + run: cargo test --release + - name: Rename Compile Output + shell: msys2 {0} + run: mv target/release/krak2.exe target/release/${{ matrix.sys }}_krak2.exe + - name: Release with Notes + uses: softprops/action-gh-release@v1 + with: + files: | + target/release/${{ matrix.sys }}_krak2.exe + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 6184b67..4df8541 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,39 @@ out.* temp temp.* Cargo.lock + +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file