[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 # Configuration for https://github.com/dessant/lock-threads
name: 'Lock Threads' name: '[cron] Lock stale issues'
on: on:
schedule: 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

View file

@ -1,6 +1,6 @@
o Version 3.15 (2021.08.??) o Version 3.15 (2021.08.??)
Update GRUB to version 2.06 Update GRUB to version 2.06
Add support for .vtsi files (Ventoy Sparse Image) Add support for .vtsi files (Ventoy Sparse Image, courtesy of longpanda/ventoy)
Move default app directory to %LocalAppData%\Rufus\ and always save a log there on exit Move default app directory to %LocalAppData%\Rufus\ and always save a log there on exit
Fix AppStore version of Rufus not being able to store downloaded files Fix AppStore version of Rufus not being able to store downloaded files
Fix failure to open Syslinux/GRUB files when Rufus is located at the root of a drive Fix failure to open Syslinux/GRUB files when Rufus is located at the root of a drive

View file

@ -1,7 +1,8 @@
Rufus: The Reliable USB Formatting Utility Rufus: The Reliable USB Formatting Utility
========================================== ==========================================
[![Build status](https://img.shields.io/appveyor/ci/pbatard/rufus.svg?style=flat-square)](https://ci.appveyor.com/project/pbatard/rufus) [![Build status](https://img.shields.io/github/workflow/status/pbatard/rufus/VS2019.svg?style=flat-square&label=VS2019)](https://github.com/pbatard/rufus/actions/workflows/vs2019.yml)
[![Build status](https://img.shields.io/github/workflow/status/pbatard/rufus/MinGW.svg?style=flat-square&label=MinGW)](https://github.com/pbatard/rufus/actions/workflows/mingw.yml)
[![Coverity Scan Build Status](https://img.shields.io/coverity/scan/2172.svg?style=flat-square)](https://scan.coverity.com/projects/pbatard-rufus) [![Coverity Scan Build Status](https://img.shields.io/coverity/scan/2172.svg?style=flat-square)](https://scan.coverity.com/projects/pbatard-rufus)
[![Build contributors](https://img.shields.io/github/contributors/pbatard/rufus.svg?style=flat-square)](https://github.com/pbatard/rufus/graphs/contributors) [![Build contributors](https://img.shields.io/github/contributors/pbatard/rufus.svg?style=flat-square)](https://github.com/pbatard/rufus/graphs/contributors)
[![Github stats](https://img.shields.io/github/downloads/pbatard/rufus/total.svg?label=downloads%20%28since%202019%29&style=flat-square)](https://github.com/pbatard/rufus/releases) [![Github stats](https://img.shields.io/github/downloads/pbatard/rufus/total.svg?label=downloads%20%28since%202019%29&style=flat-square)](https://github.com/pbatard/rufus/releases)

View file

@ -1,88 +0,0 @@
os: Visual Studio 2019
skip_commits:
# Don't run AppVeyor for commits that only modify resource or non-code files
files:
- .gitignore
- .gitattributes
- .github/
- res/
- '**/*.cmd'
- '**/*.md'
- '**/*.rc'
- '**/*.sh'
- '**/*.txt'
- '**/*.xml'
environment:
COVERITY_SCAN_EMAIL: "pete@akeo.ie"
COVERITY_SCAN_TOKEN:
secure: XZADvwlRFo57sBA54pBH2oVT/eR/OytZYY/sCKq61io=
global:
BITS: 32
matrix:
- CONFIGURATION: Release
COMPILER: Coverity
PLATFORM: x86
- CONFIGURATION: Debug
COMPILER: MSVC
PLATFORM: x86
- CONFIGURATION: Debug
COMPILER: MSVC
PLATFORM: x64
- CONFIGURATION: Release
COMPILER: MSVC
PLATFORM: x86
- CONFIGURATION: Release
COMPILER: MSVC
PLATFORM: x64
- CONFIGURATION: Release
COMPILER: MinGW
PLATFORM: i686
- CONFIGURATION: Release
COMPILER: MinGW
PLATFORM: x86_64
init:
# Set the AppVeyor build version number to our tag or, if untagged, to the commit hash
# See https://github.com/appveyor/ci/issues/691
# Also include the build number, to distinguish between rebuilds of the same commit
- ps: |
if ($env:APPVEYOR_REPO_TAG -eq "true") {
Update-AppveyorBuild -Version "$($env:APPVEYOR_REPO_TAG_NAME)_#$env:APPVEYOR_BUILD_NUMBER";
} else {
Update-AppveyorBuild -Version "dev-$($env:APPVEYOR_REPO_COMMIT.Substring(0,8))_#$env:APPVEYOR_BUILD_NUMBER";
}
build:
project: rufus.sln
parallel: true
verbosity: detailed
install:
ps: |
if ($env:PLATFORM -eq "x86_64") {
$env:BITS = 64
}
build_script:
ps: |
$APPVEYOR_LOGGER = "C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll";
switch ($env:COMPILER) {
MSVC {
msbuild rufus.sln /m /p:Configuration=$env:CONFIGURATION,Platform=$env:PLATFORM /l:$APPVEYOR_LOGGER;
}
MinGW {
C:\msys64\usr\bin\bash -lc "export PATH=/mingw$env:BITS/bin:`$PATH; cd /c/projects/rufus; mkdir -p m4; ./configure --build=$env:PLATFORM-w64-mingw32 --host=$env:PLATFORM-w64-mingw32 --disable-debug; make -j4";
}
Coverity {
if (!"$env:COVERITY_SCAN_TOKEN") {
Write-Output "Not running Coverity due to missing credential.";
return;
}
cov-build.exe --dir cov-int msbuild rufus.sln /m /p:Configuration=$env:CONFIGURATION,Platform=$env:PLATFORM /l:$APPVEYOR_LOGGER;
7z a -r cov-int.zip cov-int
# MUST use 'curl.exe' since 'curl' is a PowerShell alias to Invoke-Webrequest. Also MUST use @ sign before uploaded file.
curl.exe -s --form email=$env:COVERITY_SCAN_EMAIL --form token=$env:COVERITY_SCAN_TOKEN --form file=@cov-int.zip --form version="$env:APPVEYOR_BUILD_VERSION" --form description="Rufus" https://scan.coverity.com/builds?project=pbatard%2Frufus
}
}

View file

@ -11,7 +11,7 @@
<Identity <Identity
Name="19453.net.Rufus" Name="19453.net.Rufus"
Publisher="CN=7AC86D13-3E5A-491A-ADD5-80095C212740" Publisher="CN=7AC86D13-3E5A-491A-ADD5-80095C212740"
Version="3.15.1806.0" /> Version="3.15.1807.0" />
<Properties> <Properties>
<DisplayName>Rufus</DisplayName> <DisplayName>Rufus</DisplayName>

View file

@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDD_DIALOG DIALOGEX 12, 12, 232, 326 IDD_DIALOG DIALOGEX 12, 12, 232, 326
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_ACCEPTFILES EXSTYLE WS_EX_ACCEPTFILES
CAPTION "Rufus 3.15.1806" CAPTION "Rufus 3.15.1807"
FONT 9, "Segoe UI Symbol", 400, 0, 0x0 FONT 9, "Segoe UI Symbol", 400, 0, 0x0
BEGIN BEGIN
LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP
@ -395,8 +395,8 @@ END
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 3,15,1806,0 FILEVERSION 3,15,1807,0
PRODUCTVERSION 3,15,1806,0 PRODUCTVERSION 3,15,1807,0
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -414,13 +414,13 @@ BEGIN
VALUE "Comments", "https://rufus.ie" VALUE "Comments", "https://rufus.ie"
VALUE "CompanyName", "Akeo Consulting" VALUE "CompanyName", "Akeo Consulting"
VALUE "FileDescription", "Rufus" VALUE "FileDescription", "Rufus"
VALUE "FileVersion", "3.15.1806" VALUE "FileVersion", "3.15.1807"
VALUE "InternalName", "Rufus" VALUE "InternalName", "Rufus"
VALUE "LegalCopyright", "© 2011-2021 Pete Batard (GPL v3)" VALUE "LegalCopyright", "© 2011-2021 Pete Batard (GPL v3)"
VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html" VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html"
VALUE "OriginalFilename", "rufus-3.15.exe" VALUE "OriginalFilename", "rufus-3.15.exe"
VALUE "ProductName", "Rufus" VALUE "ProductName", "Rufus"
VALUE "ProductVersion", "3.15.1806" VALUE "ProductVersion", "3.15.1807"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"