diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml deleted file mode 100644 index e4d8739a..00000000 --- a/.azure-pipelines.yml +++ /dev/null @@ -1,4 +0,0 @@ -jobs: - - template: .ci/azure-pipelines/linux.yml - - template: .ci/azure-pipelines/windows.yml - - template: .ci/azure-pipelines/macos.yml diff --git a/.ci/azure-pipelines/linux.yml b/.ci/azure-pipelines/linux.yml deleted file mode 100644 index fbb8aeb5..00000000 --- a/.ci/azure-pipelines/linux.yml +++ /dev/null @@ -1,20 +0,0 @@ -jobs: -- job: Ubuntu_x64 - pool: - vmImage: ubuntu-22.04 - steps: - - checkout: self - submodules: true - persistCredentials: true - - script: sudo apt update && sudo apt-get -y install cmake gcc g++ ninja-build libncurses5-dev libreadline-dev libsodium-dev libssl-dev make zlib1g-dev liblz4-dev libnl-genl-3-dev - displayName: 'Prepare environment' - - script: "$(Build.SourcesDirectory)/.ci/azure-pipelines/linux_build.sh" - env: - SE_BUILD_NUMBER_TOKEN: $(BUILD_NUMBER_TOKEN) - displayName: 'Build' - - script: | - .ci/appveyor-deb-install-test.sh - sudo apt-get -y install autoconf libtool liblzo2-dev libpam-dev fping unzip libcap-ng-dev # To build OpenVPN - sudo BUILD_BINARIESDIRECTORY=$BUILD_BINARIESDIRECTORY .ci/start-se-openvpn.sh - sudo BUILD_BINARIESDIRECTORY=$BUILD_BINARIESDIRECTORY .ci/run-openvpn-tests.sh - displayName: 'Test' diff --git a/.ci/azure-pipelines/macos.yml b/.ci/azure-pipelines/macos.yml deleted file mode 100644 index da8fa2f8..00000000 --- a/.ci/azure-pipelines/macos.yml +++ /dev/null @@ -1,14 +0,0 @@ -jobs: -- job: macOS - pool: - vmImage: macOS-latest - steps: - - checkout: self - submodules: true - persistCredentials: true - - script: brew install pkg-config cmake ninja ncurses readline libsodium openssl zlib - displayName: 'Prepare environment' - - script: '$(Build.SourcesDirectory)/.ci/azure-pipelines/macos_build.sh' - env: - SE_BUILD_NUMBER_TOKEN: $(BUILD_NUMBER_TOKEN) - displayName: 'Build' diff --git a/.ci/azure-pipelines/windows-steps.yml b/.ci/azure-pipelines/windows-steps.yml deleted file mode 100644 index 79bd5fdf..00000000 --- a/.ci/azure-pipelines/windows-steps.yml +++ /dev/null @@ -1,41 +0,0 @@ -parameters: -- name: architecture - type: string -- name: compilerPath - type: string -- name: vcpkgTriplet - type: string -- name: vcvarsPath - type: string - -steps: -- task: Cache@2 - inputs: - key: '"vcpkg-manifest" | "$(Agent.OS)" | "${{parameters.vcpkgTriplet}}" | C:/vcpkg/.git/refs/heads/master' - path: '$(Build.BinariesDirectory)/vcpkg_installed' - displayName: 'Environment storage' -- script: '$(Build.SourcesDirectory)/.ci/azure-pipelines/windows_build.bat' - env: - ARCHITECTURE: ${{parameters.architecture}} - COMPILER_PATH: ${{parameters.compilerPath}} - VCPKG_TRIPLET: ${{parameters.vcpkgTriplet}} - VCVARS_PATH: ${{parameters.vcvarsPath}} - SE_BUILD_NUMBER_TOKEN: $(BUILD_NUMBER_TOKEN) - displayName: 'Build' -- powershell: | - . .ci/appveyor-vpntest.ps1 - displayName: 'Test' -- task: CopyFiles@2 - inputs: - sourceFolder: '$(Build.BinariesDirectory)' - contents: '?(*.exe|*.se2|*.pdb)' - TargetFolder: '$(Build.StagingDirectory)/binaries/${{parameters.architecture}}' - flattenFolders: true -- task: PublishBuildArtifacts@1 - inputs: - pathtoPublish: '$(Build.StagingDirectory)/binaries/${{parameters.architecture}}' - artifactName: 'Binaries_${{parameters.architecture}}' -- task: PublishBuildArtifacts@1 - inputs: - pathtoPublish: '$(Build.StagingDirectory)/installers' - artifactName: 'Installers' diff --git a/.ci/azure-pipelines/windows.yml b/.ci/azure-pipelines/windows.yml deleted file mode 100644 index 6c6a75e8..00000000 --- a/.ci/azure-pipelines/windows.yml +++ /dev/null @@ -1,27 +0,0 @@ -jobs: -- job: Windows_x64 - pool: - vmImage: windows-latest - steps: - - checkout: self - submodules: true - persistCredentials: true - - template: "windows-steps.yml" - parameters: - architecture: "x64" - compilerPath: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/Llvm/x64/bin/clang-cl.exe" - vcpkgTriplet: "x64-windows-static" - vcvarsPath: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat" -- job: Windows_x86 - pool: - vmImage: windows-latest - steps: - - checkout: self - submodules: true - persistCredentials: true - - template: "windows-steps.yml" - parameters: - architecture: "x86" - compilerPath: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/Llvm/bin/clang-cl.exe" - vcpkgTriplet: "x86-windows-static" - vcvarsPath: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars32.bat" diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml new file mode 100644 index 00000000..799f4b8f --- /dev/null +++ b/.github/workflows/linux.yml @@ -0,0 +1,34 @@ +on: [push, pull_request] + +permissions: + contents: read + +jobs: + build_and_test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: true + + - name: Install dependencies + run: sudo apt update && sudo apt-get -y install cmake gcc g++ ninja-build libncurses5-dev libreadline-dev libsodium-dev libssl-dev make zlib1g-dev liblz4-dev libnl-genl-3-dev + + - name: Build + run: | + mkdir build + cd build + cmake -G "Ninja" -DCMAKE_BUILD_TYPE=RelWithDebInfo .. + cmake --build . + + - name: Build deb packages + run: | + cd build + cpack -C Release -G DEB + + - name: Test + run: | + .ci/appveyor-deb-install-test.sh + sudo apt-get -y install autoconf libtool liblzo2-dev libpam-dev fping unzip libcap-ng-dev # To build OpenVPN + sudo .ci/start-se-openvpn.sh + sudo .ci/run-openvpn-tests.sh