diff --git a/.github/workflows/CI-package-build.yml b/.github/workflows/CI-package-build.yml new file mode 100644 index 000000000..550bb5c59 --- /dev/null +++ b/.github/workflows/CI-package-build.yml @@ -0,0 +1,26 @@ +name: Package-Build + +on: + push: + branches: [ "v2.x" ] + paths-ignore: + - '.github/**' + - '**.md' +# pull_request: +# branches: [ "v2.x" ] +# paths-ignore: +# - '.github/**' +# - '**.md' +# schedule: +# - cron: '15 13 * * 3' + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref_name }} +# cancel-in-progress: true + +jobs: + call-script: + uses: mirostauder/proxysql/.github/workflows/ci-package-build.yml@GH-Actions + secrets: inherit + diff --git a/.github/workflows/package-build.yml b/.github/workflows/package-build.yml deleted file mode 100644 index 454d564a8..000000000 --- a/.github/workflows/package-build.yml +++ /dev/null @@ -1,169 +0,0 @@ -name: Package-Build - -on: - push: - branches: [ "v2.x" ] - paths-ignore: - - '.github/**' - - '**.md' -# pull_request: -# branches: [ "v2.x" ] -# paths-ignore: -# - '.github/**' -# - '**.md' -# schedule: -# - cron: '15 13 * * 3' - workflow_dispatch: - -concurrency: - group: ${{ github.workflow }}-${{ github.ref_name }} -# cancel-in-progress: true - -jobs: - clean: - runs-on: ubuntu-22.04 - steps: - - name: Clean packages - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - # gh release delete-asset v2.x-head - gh release delete v2.x-head --repo ${{ github.repository }} --cleanup-tag || true - gh release create v2.x-head --repo ${{ github.repository }} --title v2.x-head --draft --prerelease --notes-file - << EOF - ## Development Snapshot - - GH-Action Package-Build on PR merge into v2.x - - Started : **$(date '+%Y-%m-%d %H:%M:%S %Z')** - - Status : **Build in progress** - EOF - - - name: Clean repo - uses: appleboy/ssh-action@v0.1.8 - with: - host: ${{ secrets.REPO_HOST }} - username: ${{ secrets.REPO_USER }} - key: ${{ secrets.REPO_PRIVATE_KEY }} - script: | - ls -1 ${{ secrets.REPO_TARGET }} | sort -rV | tail +6 | xargs -n1 rm -rf - - build: - runs-on: ubuntu-22.04 - needs: [ clean ] - strategy: - fail-fast: false - matrix: -# dist: [ 'centos7' ] - dist: [ 'almalinux8','almalinux9','centos6','centos7','centos8','debian8','debian9','debian10','debian11','debian12','fedora27','fedora28','fedora33','fedora34','fedora36','fedora37','fedora38','opensuse15','ubuntu14','ubuntu16','ubuntu18','ubuntu20','ubuntu22' ] - type: [ '','-dbg','-clang' ] - exclude: - - dist: 'centos6' - type: '-clang' - - dist: 'centos7' - type: '-clang' - - dist: 'debian8' - type: '-clang' - - dist: 'debian9' - type: '-clang' - - dist: 'debian10' - type: '-clang' - - dist: 'fedora27' - type: '-clang' - - dist: 'fedora28' - type: '-clang' - - dist: 'fedora33' - type: '-clang' - - dist: 'ubuntu14' - type: '-clang' - - dist: 'ubuntu16' - type: '-clang' - - dist: 'ubuntu18' - type: '-clang' - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - repository: 'sysown/proxysql' -# ref: 'v2.x' - fetch-depth: 0 - - - name: Set GIT_VERSION - run: | - git fetch --tags --force - echo "GIT_VERSION=$(git describe --long --abbrev=7)" >> $GITHUB_ENV - - - name: Update release - if: always() - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - if [[ "${{ matrix.dist }}" = "centos7" ]] && [[ "${{ matrix.type }}" = "" ]]; then - gh release edit v2.x-head --draft --prerelease --repo ${{ github.repository }} --tag v2.x-head --title "v2.x-head - ${GIT_VERSION}" --notes-file - << EOF - ## Development Snapshot - - GH-Action Package-Build on PR merge into v2.x - - Updated : **$(date '+%Y-%m-%d %H:%M:%S %Z')** - - Status : **Build in progress** - EOF - fi - - - name: Build package - run: | - make ${{ matrix.dist }}${{ matrix.type }} - echo "BIN_PKG=$(ls -1 binaries/*[mb])" >> $GITHUB_ENV - echo "BIN_HASH=$(ls -1 binaries/*.id-hash)" >> $GITHUB_ENV - - - name: Deploy to Repo - uses: easingthemes/ssh-deploy@main - env: - SSH_PRIVATE_KEY: ${{ secrets.REPO_PRIVATE_KEY }} - ARGS: "-aic" - SOURCE: ${{ env.BIN_PKG }} - REMOTE_HOST: ${{ secrets.REPO_HOST }} - REMOTE_USER: ${{ secrets.REPO_USER }} - TARGET: ${{ secrets.REPO_TARGET }}/binaries-${{ env.GIT_VERSION }}/ - EXCLUDE: binaries/.gitignore - - - name: Push packages - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - # git tag --force -a v2.x-head -m 'GH-Actions - Development Snapshot Build' - # git push origin --tags - # gh release upload v2.x-head --repo ${{ github.repository }} --clobber binaries/proxysql*${{ matrix.dist }}*[mb] - gh release upload v2.x-head --repo ${{ github.repository }} --clobber ${{ env.BIN_PKG }} - -# - name: Archive artifacts -# if: always() -# uses: actions/upload-artifact@v3 -# with: -# name: binaries-${{ env.GIT_VERSION }} -# path: | -# ./binaries/ -# !./**/.gitignore - - finalize: - runs-on: ubuntu-22.04 - needs: [ build ] - steps: - - name: Update release - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - gh release edit v2.x-head --draft --prerelease --repo ${{ github.repository }} --tag v2.x-head --notes-file - << EOF - ## Development Snapshot - - GH-Action Package-Build on PR merge into v2.x - - Finished : **$(date '+%Y-%m-%d %H:%M:%S %Z')** - - Status : **Build is finished** - - [![Package-Build](https://github.com/${{ github.repository }}/actions/workflows/package-build.yml/badge.svg)](https://github.com/${{ github.repository }}/actions/workflows/package-build.yml) - - -