[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

View File

@ -1,6 +1,6 @@
o Version 3.15 (2021.08.??)
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
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

View File

@ -1,7 +1,8 @@
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)
[![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)

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
Name="19453.net.Rufus"
Publisher="CN=7AC86D13-3E5A-491A-ADD5-80095C212740"
Version="3.15.1806.0" />
Version="3.15.1807.0" />
<Properties>
<DisplayName>Rufus</DisplayName>

View File

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