https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a0283ecea3c10d081320a6fab0821a03cda6b7f8

commit a0283ecea3c10d081320a6fab0821a03cda6b7f8
Author:     Victor Perevertkin <victor.perevert...@reactos.org>
AuthorDate: Wed Apr 29 12:07:50 2020 +0300
Commit:     Victor Perevertkin <vic...@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).
@@ -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/
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/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

Reply via email to