[misc] switch to GitHub actions for CI

This commit is contained in:
Pete Batard 2021-07-29 00:49:17 +01:00
parent 7afa7348cf
commit 9da4a49ab8
No known key found for this signature in database
GPG key ID: 38E0CF5E69EDD671
9 changed files with 190 additions and 97 deletions

51
.github/workflows/coverity.yml vendored Normal file
View file

@ -0,0 +1,51 @@
name: Coverity
on:
push:
paths-ignore:
- '.gitignore'
- '.gitattributes'
- 'res/**'
- '**.cmd'
- '**.md'
- '**.rc'
- '**.sh'
- '**.txt'
- '**.xml'
env:
SOLUTION_FILE_PATH: ./rufus.sln
EMAIL: pete@akeo.ie
jobs:
build:
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0
submodules: recursive
- name: Download Coverity
run: |
curl -d "token=${{secrets.COVERITY_SCAN_TOKEN}}&project=pbatard%2Frufus" -L https://scan.coverity.com/download/cxx/win64 -o cov-analysis-win64.zip
7z x cov-analysis-win64.zip
del cov-analysis-win64.zip
move cov-analysis-win64* cov-analysis-win64
- name: Add Coverity to PATH
shell: bash
run: echo "${{github.workspace}}/cov-analysis-win64/bin" >> $GITHUB_PATH
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1
- name: Build with Coverity
run: cov-build.exe --dir cov-int msbuild ${{env.SOLUTION_FILE_PATH}} /m /p:Configuration=Release,Platform=x64
- name: Upload Coverity build for analysis
run: |
7z a -r cov-int.zip cov-int
curl --form email=${{env.EMAIL}} --form token=${{secrets.COVERITY_SCAN_TOKEN}} --form file=@cov-int.zip --form version="${{env.GITHUB_SHA}}" --form description="rufus" https://scan.coverity.com/builds?project=pbatard%2Frufus

View file

@ -1,5 +1,5 @@
# Configuration for https://github.com/dessant/lock-threads
name: 'Lock Threads'
name: '[cron] Lock stale issues'
on:
schedule:

72
.github/workflows/mingw.yml vendored Normal file
View file

@ -0,0 +1,72 @@
name: MinGW
on:
push:
paths-ignore:
- '.gitignore'
- '.gitattributes'
- 'res/**'
- '**.cmd'
- '**.md'
- '**.rc'
- '**.sh'
- '**.txt'
- '**.xml'
pull_request:
paths-ignore:
- '.gitignore'
- '.gitattributes'
- 'res/**'
- '**.cmd'
- '**.md'
- '**.rc'
- '**.sh'
- '**.txt'
- '**.xml'
jobs:
build:
runs-on: windows-latest
strategy:
matrix:
include:
- { sys: mingw64, env: x86_64 }
- { sys: mingw32, env: i686 }
defaults:
run:
shell: msys2 {0}
steps:
- name: Install MinGW
uses: msys2/setup-msys2@v2
with:
msystem: ${{matrix.sys}}
update: true
install: >-
mingw-w64-${{matrix.env}}-toolchain
base-devel
git
upx
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0
submodules: recursive
- name: Build
run: |
./configure --disable-debug
make -j4
mv src/rufus.exe .
strip rufus.exe
upx --lzma --best rufus.exe
- name: Upload artifacts
if: ${{ matrix.env == 'i686' }}
uses: actions/upload-artifact@v2
with:
name: MinGW
path: ./*.exe

57
.github/workflows/vs2019.yml vendored Normal file
View file

@ -0,0 +1,57 @@
name: VS2019
on:
push:
paths-ignore:
- '.gitignore'
- '.gitattributes'
- 'res/**'
- '**.cmd'
- '**.md'
- '**.rc'
- '**.sh'
- '**.txt'
- '**.xml'
pull_request:
paths-ignore:
- '.gitignore'
- '.gitattributes'
- 'res/**'
- '**.cmd'
- '**.md'
- '**.rc'
- '**.sh'
- '**.txt'
- '**.xml'
env:
SOLUTION_FILE_PATH: ./rufus.sln
jobs:
build:
runs-on: windows-latest
strategy:
matrix:
TARGET_PLATFORM: [x64, x86, arm64, arm]
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0
submodules: recursive
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1
- name: Build
run: |
msbuild ${{env.SOLUTION_FILE_PATH}} /m /p:Configuration=Release,Platform=${{matrix.TARGET_PLATFORM}}
move ./${{matrix.TARGET_PLATFORM}}/Release/rufus.exe ./rufus_${{matrix.TARGET_PLATFORM}}.exe
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: VS2019
path: ./*.exe