mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 08:25:48 +00:00
[GITHUB][TRAVIS][APPVEYOR] Move all CI to GitHub Actions
This commit is contained in:
parent
8bd9450da8
commit
a0283ecea3
4 changed files with 128 additions and 98 deletions
127
.github/workflows/build.yml
vendored
Normal file
127
.github/workflows/build.yml
vendored
Normal file
|
@ -0,0 +1,127 @@
|
||||||
|
name: Build
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-gcc-i386:
|
||||||
|
name: GCC (i386)
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Install RosBE
|
||||||
|
run: |
|
||||||
|
wget https://svn.reactos.org/storage/vperevertkin/rosbe-ci.tar.zst
|
||||||
|
mkdir ${{github.workspace}}/rosbe
|
||||||
|
tar -I zstd -xvf rosbe-ci.tar.zst --directory ${{github.workspace}}/rosbe
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
path: src
|
||||||
|
- name: Configure
|
||||||
|
run: |
|
||||||
|
mkdir build
|
||||||
|
echo 'cd ${{github.workspace}}/build && ${{github.workspace}}/src/configure.sh -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1' > commands
|
||||||
|
${{github.workspace}}/rosbe/RosBE.sh < commands
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
echo 'cd ${{github.workspace}}/build && cmake --build .' > commands
|
||||||
|
${{github.workspace}}/rosbe/RosBE.sh < commands
|
||||||
|
- name: Generate ISOs
|
||||||
|
run: |
|
||||||
|
echo 'cd ${{github.workspace}}/build && cmake --build . --target bootcd && cmake --build . --target livecd' > commands
|
||||||
|
${{github.workspace}}/rosbe/RosBE.sh < 'commands'
|
||||||
|
- name: Upload bootcd
|
||||||
|
uses: actions/upload-artifact@v1
|
||||||
|
with:
|
||||||
|
name: reactos-gcc-i386-${{github.sha}}
|
||||||
|
path: build/bootcd.iso
|
||||||
|
- name: Upload livecd
|
||||||
|
uses: actions/upload-artifact@v1
|
||||||
|
with:
|
||||||
|
name: reactos-gcc-i386-${{github.sha}}
|
||||||
|
path: build/livecd.iso
|
||||||
|
|
||||||
|
build-msvc-i386:
|
||||||
|
name: MSVC (i386)
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- name: Install packages
|
||||||
|
run: choco install ninja -y
|
||||||
|
- name: Install Flex and Bison
|
||||||
|
run: |
|
||||||
|
curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
|
||||||
|
7z x flexbison.7z -O${{github.workspace}}\bin
|
||||||
|
echo "::add-path::${{github.workspace}}\bin"
|
||||||
|
- name: Add CL to PATH
|
||||||
|
uses: ilammy/msvc-dev-cmd@v1
|
||||||
|
with:
|
||||||
|
arch: amd64_x86
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
path: src
|
||||||
|
- name: Configure
|
||||||
|
run: |
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=i386 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{github.workspace}}\src
|
||||||
|
- name: Build
|
||||||
|
working-directory: ${{github.workspace}}\build
|
||||||
|
run: cmake --build .
|
||||||
|
- name: Generate ISOs
|
||||||
|
working-directory: ${{github.workspace}}\build
|
||||||
|
run: |
|
||||||
|
cmake --build . --target bootcd
|
||||||
|
cmake --build . --target livecd
|
||||||
|
- name: Upload bootcd
|
||||||
|
uses: actions/upload-artifact@v1
|
||||||
|
with:
|
||||||
|
name: reactos-msvc-i386-${{github.sha}}
|
||||||
|
path: build/bootcd.iso
|
||||||
|
- name: Upload livecd
|
||||||
|
uses: actions/upload-artifact@v1
|
||||||
|
with:
|
||||||
|
name: reactos-msvc-i386-${{github.sha}}
|
||||||
|
path: build/livecd.iso
|
||||||
|
|
||||||
|
build-msvc-amd64:
|
||||||
|
name: MSVC (amd64)
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- name: Install packages
|
||||||
|
# HACK: remove all packages which contain gcc binary
|
||||||
|
run: |
|
||||||
|
choco install ninja -y
|
||||||
|
choco uninstall mingw strawberryperl -y
|
||||||
|
- name: Install Flex and Bison
|
||||||
|
run: |
|
||||||
|
curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
|
||||||
|
7z x flexbison.7z -O${{github.workspace}}\bin
|
||||||
|
echo "::add-path::${{github.workspace}}\bin"
|
||||||
|
- name: Add CL to PATH
|
||||||
|
uses: ilammy/msvc-dev-cmd@v1
|
||||||
|
with:
|
||||||
|
arch: amd64
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
path: src
|
||||||
|
- name: Configure
|
||||||
|
run: |
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=amd64 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{github.workspace}}\src
|
||||||
|
- name: Build
|
||||||
|
working-directory: ${{github.workspace}}\build
|
||||||
|
run: |
|
||||||
|
cmake --build .
|
||||||
|
- name: Generate ISOs
|
||||||
|
working-directory: ${{github.workspace}}\build
|
||||||
|
run: |
|
||||||
|
cmake --build . --target bootcd
|
||||||
|
cmake --build . --target livecd
|
||||||
|
- name: Upload bootcd
|
||||||
|
uses: actions/upload-artifact@v1
|
||||||
|
with:
|
||||||
|
name: reactos-msvc-amd64-${{github.sha}}
|
||||||
|
path: build/bootcd.iso
|
||||||
|
- name: Upload livecd
|
||||||
|
uses: actions/upload-artifact@v1
|
||||||
|
with:
|
||||||
|
name: reactos-msvc-amd64-${{github.sha}}
|
||||||
|
path: build/livecd.iso
|
34
.travis.yml
34
.travis.yml
|
@ -1,34 +0,0 @@
|
||||||
dist: bionic
|
|
||||||
language: cpp
|
|
||||||
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
sources:
|
|
||||||
- sourceline: 'deb https://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main'
|
|
||||||
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
|
|
||||||
packages:
|
|
||||||
clang-format-9
|
|
||||||
|
|
||||||
git:
|
|
||||||
depth: 5
|
|
||||||
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
- DO_BUILD=0
|
|
||||||
- DO_CHECK=0
|
|
||||||
- CLFORMAT_BINARY=clang-format-9
|
|
||||||
jobs:
|
|
||||||
- DO_BUILD=1
|
|
||||||
|
|
||||||
before_install:
|
|
||||||
- ln -s /usr/share/clang/clang-format-9/clang-format-diff.py ./sdk/tools/;
|
|
||||||
- wget https://svn.reactos.org/amine/RosBEBinFull.tar.gz -O RosBE.tar.gz
|
|
||||||
- tar -xzf RosBE.tar.gz
|
|
||||||
- echo 'mkdir ../Build && cd ../Build && $TRAVIS_BUILD_DIR/configure.sh -DENABLE_ROSTESTS=1 && ninja -k 0 && ninja bootcd' > tmp_file
|
|
||||||
|
|
||||||
script:
|
|
||||||
- if [ $DO_BUILD == "1" ]; then
|
|
||||||
./RosBEBinFull/RosBE.sh < tmp_file;
|
|
||||||
elif [ $DO_CHECK == "1" ]; then
|
|
||||||
./sdk/tools/check_code_format.sh;
|
|
||||||
fi
|
|
|
@ -48,7 +48,7 @@ The code of ReactOS is licensed under [GNU GPL 2.0](https://github.com/reactos/r
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
[![appveyor.badge]][appveyor.link] [![travis.badge]][travis.link] [![rosbewin.badge]][rosbewin.link] [![rosbeunix.badge]][rosbeunix.link] [![coverity.badge]][coverity.link]
|
 [![rosbewin.badge]][rosbewin.link] [![rosbeunix.badge]][rosbeunix.link] [![coverity.badge]][coverity.link]
|
||||||
|
|
||||||
To build the system it is strongly advised to use the _ReactOS Build Environment (RosBE)._
|
To build the system it is strongly advised to use the _ReactOS Build Environment (RosBE)._
|
||||||
Up-to-date versions for Windows and for Unix/GNU-Linux are available from our download page at: ["Build Environment"](https://reactos.org/wiki/Build_Environment).
|
Up-to-date versions for Windows and for Unix/GNU-Linux are available from our download page at: ["Build Environment"](https://reactos.org/wiki/Build_Environment).
|
||||||
|
@ -124,15 +124,11 @@ The main development is done on [GitHub](https://github.com/reactos/reactos). We
|
||||||
|
|
||||||
There is also an obsolete [SVN archive repository](https://svn.reactos.org/reactos/) that is kept for historical purposes.
|
There is also an obsolete [SVN archive repository](https://svn.reactos.org/reactos/) that is kept for historical purposes.
|
||||||
|
|
||||||
[travis.badge]: https://api.travis-ci.org/reactos/reactos.svg?branch=master
|
|
||||||
[appveyor.badge]: https://ci.appveyor.com/api/projects/status/github/reactos/reactos?branch=master&svg=true
|
|
||||||
[coverity.badge]: https://scan.coverity.com/projects/205/badge.svg?flat=1
|
[coverity.badge]: https://scan.coverity.com/projects/205/badge.svg?flat=1
|
||||||
[rosbewin.badge]: https://img.shields.io/badge/RosBE_Windows-2.1.6-0688CB.svg
|
[rosbewin.badge]: https://img.shields.io/badge/RosBE_Windows-2.1.6-0688CB.svg
|
||||||
[rosbeunix.badge]: https://img.shields.io/badge/RosBE_Unix-2.1.2-0688CB.svg
|
[rosbeunix.badge]: https://img.shields.io/badge/RosBE_Unix-2.1.2-0688CB.svg
|
||||||
[prwelcome.badge]: https://img.shields.io/badge/PR-welcome-0688CB.svg
|
[prwelcome.badge]: https://img.shields.io/badge/PR-welcome-0688CB.svg
|
||||||
|
|
||||||
[travis.link]: https://travis-ci.org/github/reactos/reactos
|
|
||||||
[appveyor.link]: https://ci.appveyor.com/project/AmineKhaldi/reactos
|
|
||||||
[coverity.link]: https://scan.coverity.com/projects/205
|
[coverity.link]: https://scan.coverity.com/projects/205
|
||||||
[rosbewin.link]: https://sourceforge.net/projects/reactos/files/RosBE-Windows/i386/2.1.6/
|
[rosbewin.link]: https://sourceforge.net/projects/reactos/files/RosBE-Windows/i386/2.1.6/
|
||||||
[rosbeunix.link]: https://sourceforge.net/projects/reactos/files/RosBE-Unix/2.1.2/
|
[rosbeunix.link]: https://sourceforge.net/projects/reactos/files/RosBE-Unix/2.1.2/
|
||||||
|
|
59
appveyor.yml
59
appveyor.yml
|
@ -1,59 +0,0 @@
|
||||||
environment:
|
|
||||||
matrix:
|
|
||||||
- BuildType: "msvc-x64"
|
|
||||||
- BuildType: "msvc"
|
|
||||||
# - BuildType: "clang-cl"
|
|
||||||
# - BuildType: vssolution
|
|
||||||
|
|
||||||
version: reactos.appveyor.{build}
|
|
||||||
skip_branch_with_pr: true
|
|
||||||
clone_depth: 5
|
|
||||||
clone_folder: c:\reactos-cov
|
|
||||||
matrix:
|
|
||||||
fast_finish: true
|
|
||||||
|
|
||||||
init:
|
|
||||||
- ps: (New-Object System.Net.WebClient).DownloadFile("https://svn.reactos.org/amine/RosCMakeNinja.zip","C:\RosCMakeNinja.zip")
|
|
||||||
- 7z x C:\RosCMakeNinja.zip -oC:\RosCMakeNinja
|
|
||||||
- ps: >-
|
|
||||||
If ($env:BuildType -Match "clang-cl") {
|
|
||||||
$env:clang_configure_option="clang"
|
|
||||||
(New-Object System.Net.WebClient).DownloadFile("https://svn.reactos.org/amine/clang-cl.7z","C:\clang-cl.7z")
|
|
||||||
7z x C:\clang-cl.7z -oC:\RosCMakeNinja\bin
|
|
||||||
} Else {
|
|
||||||
$env:clang_configure_option=""
|
|
||||||
}
|
|
||||||
|
|
||||||
build_script:
|
|
||||||
- set PATH=C:\RosCMakeNinja\bin;%PATH%
|
|
||||||
- if "%BuildType%" == "msvc-x64" (
|
|
||||||
call "C:\PROGRA~2\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
|
|
||||||
) else (
|
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86
|
|
||||||
)
|
|
||||||
- cmake --version
|
|
||||||
- md c:\ros_build
|
|
||||||
- cd c:\ros_build
|
|
||||||
- call %APPVEYOR_BUILD_FOLDER%\configure.cmd %clang_configure_option% -DENABLE_ROSTESTS=1
|
|
||||||
- ps: >-
|
|
||||||
& ninja -k0 2>&1 | select-string -pattern "\[\d+\/\d+\] " -NotMatch | %{$_.Line}
|
|
||||||
- ps: >-
|
|
||||||
& ninja bootcd 2>&1 | select-string -pattern "\[\d+\/\d+\] " -NotMatch | %{$_.Line}
|
|
||||||
|
|
||||||
test: off
|
|
||||||
deploy: off
|
|
||||||
|
|
||||||
for:
|
|
||||||
-
|
|
||||||
matrix:
|
|
||||||
only:
|
|
||||||
- BuildType: vssolution
|
|
||||||
|
|
||||||
build_script:
|
|
||||||
- set PATH=C:\RosCMakeNinja\bin;%PATH%
|
|
||||||
- call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86
|
|
||||||
- cmake --version
|
|
||||||
- md C:\ros_build
|
|
||||||
- cd C:\ros_build
|
|
||||||
- call %APPVEYOR_BUILD_FOLDER%\configure.cmd VSSolution -DENABLE_ROSTESTS=1
|
|
||||||
- msbuild /verbosity:quiet /target:bootcd REACTOS.sln
|
|
Loading…
Add table
Add a link
Reference in a new issue