mirror of
https://github.com/reactos/reactos.git
synced 2025-02-20 15:35:04 +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
|
||||
|
||||
[![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)._
|
||||
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.
|
||||
|
||||
[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
|
||||
[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
|
||||
[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
|
||||
[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/
|
||||
|
|
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…
Reference in a new issue