https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a0283ecea3c10d081320a…
commit a0283ecea3c10d081320a6fab0821a03cda6b7f8
Author: Victor Perevertkin <victor.perevertkin(a)reactos.org>
AuthorDate: Wed Apr 29 12:07:50 2020 +0300
Commit: Victor Perevertkin <victor(a)perevertkin.ru>
CommitDate: Mon May 4 19:53:16 2020 +0300
[GITHUB][TRAVIS][APPVEYOR] Move all CI to GitHub Actions
---
.github/workflows/build.yml | 127 ++++++++++++++++++++++++++++++++++++++++++++
.travis.yml | 34 ------------
README.md | 6 +--
appveyor.yml | 59 --------------------
4 files changed, 128 insertions(+), 98 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 00000000000..b533cb4f214
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -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
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 9f123a95180..00000000000
--- a/.travis.yml
+++ /dev/null
@@ -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
diff --git a/README.md b/README.md
index f093644398f..bf96c76dab8 100644
--- a/README.md
+++ b/README.md
@@ -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]
+![Build](https://github.com/reactos/reactos/workflows/Build/badge.svg)
[![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)ment).
@@ -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=m…
[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/
diff --git a/appveyor.yml b/appveyor.yml
deleted file mode 100644
index 1c05af1dd27..00000000000
--- a/appveyor.yml
+++ /dev/null
@@ -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/RosC…)
- - 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/clan…)
- 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