mirror of
https://github.com/Chia-Network/chia-blockchain.git
synced 2024-09-20 16:08:51 +03:00
Release Pipeline (#3588)
Release Pipeline Co-authored-by: Justin England <justin@chia.net> Co-authored-by: Chris Marslender <chrismarslender@gmail.com>
This commit is contained in:
parent
b99ae594b7
commit
29f5feec85
@ -34,6 +34,15 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
|
# Create our own venv outside of the git directory JUST for getting the ACTUAL version so that install can't break it
|
||||||
|
- name: Create installer version number
|
||||||
|
id: version_number
|
||||||
|
run: |
|
||||||
|
python3 -m venv ../venv
|
||||||
|
. ../venv/bin/activate
|
||||||
|
pip3 install setuptools_scm
|
||||||
|
echo "::set-output name=CHIA_INSTALLER_VERSION::$(python3 ./build_scripts/installer-version.py)"
|
||||||
|
deactivate
|
||||||
|
|
||||||
- name: Build ARM64 Installer
|
- name: Build ARM64 Installer
|
||||||
run: |
|
run: |
|
||||||
@ -72,6 +81,37 @@ jobs:
|
|||||||
name: Linux-ARM-64-Installer
|
name: Linux-ARM-64-Installer
|
||||||
path: ${{ github.workspace }}/build_scripts/final_installer/
|
path: ${{ github.workspace }}/build_scripts/final_installer/
|
||||||
|
|
||||||
|
- name: Install AWS CLI
|
||||||
|
run: |
|
||||||
|
sudo apt-get install -y awscli
|
||||||
|
|
||||||
|
- name: Configure AWS Credentials
|
||||||
|
uses: aws-actions/configure-aws-credentials@v1
|
||||||
|
with:
|
||||||
|
aws-access-key-id: ${{ secrets.INSTALLER_UPLOAD_KEY }}
|
||||||
|
aws-secret-access-key: ${{ secrets.INSTALLER_UPLOAD_SECRET }}
|
||||||
|
aws-region: us-west-2
|
||||||
|
|
||||||
|
- name: Upload to s3
|
||||||
|
run: |
|
||||||
|
aws s3 cp ${{ github.workspace }}/build_scripts/final_installer/*.deb s3://download-chia-net/builds/
|
||||||
|
|
||||||
|
- name: Create Checksums
|
||||||
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
env:
|
||||||
|
CHIA_INSTALLER_VERSION: ${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}
|
||||||
|
run: |
|
||||||
|
ls ${{ github.workspace }}/build_scripts/final_installer/
|
||||||
|
sha256sum ${{ github.workspace }}/build_scripts/final_installer/chia-blockchain_${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}_arm64.deb > ${{ github.workspace }}/build_scripts/final_installer/chia-blockchain_${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}_arm64.deb.checksum
|
||||||
|
ls ${{ github.workspace }}/build_scripts/final_installer/
|
||||||
|
|
||||||
|
- name: Upload Release Files
|
||||||
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
run: |
|
||||||
|
ls ${{ github.workspace }}/build_scripts/final_installer/
|
||||||
|
aws s3 cp ${{ github.workspace }}/build_scripts/final_installer/*.deb s3://download-chia-net/install/
|
||||||
|
aws s3 cp ${{ github.workspace }}/build_scripts/final_installer/*.checksum s3://download-chia-net/install/
|
||||||
|
|
||||||
- name: Clean up on self hosted runner
|
- name: Clean up on self hosted runner
|
||||||
run: |
|
run: |
|
||||||
sudo rm -rf build_scrpits/final_installer
|
sudo rm -rf build_scrpits/final_installer
|
||||||
|
45
.github/workflows/build-linux-installer.yml
vendored
45
.github/workflows/build-linux-installer.yml
vendored
@ -1,6 +1,7 @@
|
|||||||
name: Linux installer on Python 3.8
|
name: Linux installer on Python 3.8
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
@ -67,6 +68,16 @@ jobs:
|
|||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-pip-
|
${{ runner.os }}-pip-
|
||||||
|
|
||||||
|
# Create our own venv outside of the git directory JUST for getting the ACTUAL version so that install can't break it
|
||||||
|
- name: Get version number
|
||||||
|
id: version_number
|
||||||
|
run: |
|
||||||
|
python3 -m venv ../venv
|
||||||
|
. ../venv/bin/activate
|
||||||
|
pip3 install setuptools_scm
|
||||||
|
echo "::set-output name=CHIA_INSTALLER_VERSION::$(python3 ./build_scripts/installer-version.py)"
|
||||||
|
deactivate
|
||||||
|
|
||||||
- name: Run install script
|
- name: Run install script
|
||||||
env:
|
env:
|
||||||
INSTALL_PYTHON_VERSION: ${{ matrix.python-version }}
|
INSTALL_PYTHON_VERSION: ${{ matrix.python-version }}
|
||||||
@ -94,3 +105,37 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: Linux-Installers
|
name: Linux-Installers
|
||||||
path: ${{ github.workspace }}/build_scripts/final_installer/
|
path: ${{ github.workspace }}/build_scripts/final_installer/
|
||||||
|
|
||||||
|
- name: Configure AWS Credentials
|
||||||
|
uses: aws-actions/configure-aws-credentials@v1
|
||||||
|
with:
|
||||||
|
aws-access-key-id: ${{ secrets.INSTALLER_UPLOAD_KEY }}
|
||||||
|
aws-secret-access-key: ${{ secrets.INSTALLER_UPLOAD_SECRET }}
|
||||||
|
aws-region: us-west-2
|
||||||
|
|
||||||
|
- name: Upload to s3
|
||||||
|
env:
|
||||||
|
CHIA_INSTALLER_VERSION: ${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}
|
||||||
|
run: |
|
||||||
|
ls ${{ github.workspace }}/build_scripts/final_installer/
|
||||||
|
aws s3 cp ${{ github.workspace }}/build_scripts/final_installer/*.rpm s3://download-chia-net/builds/
|
||||||
|
aws s3 cp ${{ github.workspace }}/build_scripts/final_installer/*.deb s3://download-chia-net/builds/
|
||||||
|
|
||||||
|
- name: Create Checksums
|
||||||
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
env:
|
||||||
|
CHIA_INSTALLER_VERSION: ${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}
|
||||||
|
run: |
|
||||||
|
ls ${{ github.workspace }}/build_scripts/final_installer/
|
||||||
|
sha256sum ${{ github.workspace }}/build_scripts/final_installer/chia-blockchain-${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}-1.x86_64.rpm > ${{ github.workspace }}/build_scripts/final_installer/chia-blockchain-${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}-1.x86_64.rpm.checksum
|
||||||
|
ls ${{ github.workspace }}/build_scripts/final_installer/
|
||||||
|
sha256sum ${{ github.workspace }}/build_scripts/final_installer/chia-blockchain_${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}_amd64.deb > ${{ github.workspace }}/build_scripts/final_installer/chia-blockchain_${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}_amd64.deb.checksum
|
||||||
|
ls ${{ github.workspace }}/build_scripts/final_installer/
|
||||||
|
|
||||||
|
- name: Upload Release Files
|
||||||
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
run: |
|
||||||
|
aws s3 cp ${{ github.workspace }}/build_scripts/final_installer/chia-blockchain_${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}_amd64.deb s3://download-chia-net/install/
|
||||||
|
aws s3 cp ${{ github.workspace }}/build_scripts/final_installer/chia-blockchain_${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}_amd64.deb.checksum s3://download-chia-net/install/
|
||||||
|
aws s3 cp ${{ github.workspace }}/build_scripts/final_installer/chia-blockchain-${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}-1.x86_64.rpm s3://download-chia-net/install/
|
||||||
|
aws s3 cp ${{ github.workspace }}/build_scripts/final_installer/chia-blockchain-${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}-1.x86_64.rpm.checksum s3://download-chia-net/install/
|
||||||
|
39
.github/workflows/build-macos-installer.yml
vendored
39
.github/workflows/build-macos-installer.yml
vendored
@ -108,8 +108,47 @@ jobs:
|
|||||||
cd ../build_scripts
|
cd ../build_scripts
|
||||||
sh build_macos.sh
|
sh build_macos.sh
|
||||||
|
|
||||||
|
- name: Create installer version number
|
||||||
|
id: version_number
|
||||||
|
run: |
|
||||||
|
. ./activate
|
||||||
|
echo "::set-output name=CHIA_INSTALLER_VERSION::$(chia version)"
|
||||||
|
|
||||||
- name: Upload MacOS artifacts
|
- name: Upload MacOS artifacts
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: Chia-Installer-on-MacOS-10.15-dmg
|
name: Chia-Installer-on-MacOS-10.15-dmg
|
||||||
path: ${{ github.workspace }}/build_scripts/final_installer/
|
path: ${{ github.workspace }}/build_scripts/final_installer/
|
||||||
|
|
||||||
|
- name: Install AWS CLI
|
||||||
|
run: |
|
||||||
|
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
|
||||||
|
sudo installer -pkg AWSCLIV2.pkg -target /
|
||||||
|
|
||||||
|
- name: Configure AWS Credentials
|
||||||
|
uses: aws-actions/configure-aws-credentials@v1
|
||||||
|
with:
|
||||||
|
aws-access-key-id: ${{ secrets.INSTALLER_UPLOAD_KEY }}
|
||||||
|
aws-secret-access-key: ${{ secrets.INSTALLER_UPLOAD_SECRET }}
|
||||||
|
aws-region: us-west-2
|
||||||
|
|
||||||
|
- name: Rename Artifact
|
||||||
|
run: |
|
||||||
|
ls
|
||||||
|
mv ${{ github.workspace }}/build_scripts/final_installer/Chia-${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}.dmg ${{ github.workspace }}/build_scripts/final_installer/Chia-Catalina-${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}.dmg
|
||||||
|
|
||||||
|
- name: Create Checksums
|
||||||
|
run: |
|
||||||
|
ls
|
||||||
|
shasum -a 256 ${{ github.workspace }}/build_scripts/final_installer/Chia-Catalina-${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}.dmg > ${{ github.workspace }}/build_scripts/final_installer/Chia-Catalina-${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}.dmg.checksum
|
||||||
|
|
||||||
|
- name: Upload to s3
|
||||||
|
run: |
|
||||||
|
aws s3 cp ${{ github.workspace }}/build_scripts/final_installer/Chia-Catalina-${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}.dmg s3://download-chia-net/builds/
|
||||||
|
|
||||||
|
#Temporarily disable release uploads
|
||||||
|
# - name: Upload Release Files
|
||||||
|
# if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
# run: |
|
||||||
|
# aws s3 cp ${{ github.workspace }}/build_scripts/final_installer/Chia-Catalina-${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}.dmg s3://download-chia-net/test-installs/
|
||||||
|
# aws s3 cp ${{ github.workspace }}/build_scripts/final_installer/Chia-Catalina-${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}.dmg.checksum s3://download-chia-net/test-installs/
|
||||||
|
50
.github/workflows/build-windows-installer.yml
vendored
50
.github/workflows/build-windows-installer.yml
vendored
@ -67,7 +67,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
unset HAS_SECRET
|
unset HAS_SECRET
|
||||||
if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi
|
if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi
|
||||||
echo ::set-output name=HAS_SECRET::${HAS_SECRET}
|
echo "::set-output name=HAS_SECRET::${HAS_SECRET}"
|
||||||
env:
|
env:
|
||||||
SECRET: "${{ secrets.WIN_CODE_SIGN_CERT }}"
|
SECRET: "${{ secrets.WIN_CODE_SIGN_CERT }}"
|
||||||
|
|
||||||
@ -78,6 +78,18 @@ jobs:
|
|||||||
encoded-value: ${{ secrets.WIN_CODE_SIGN_CERT }}
|
encoded-value: ${{ secrets.WIN_CODE_SIGN_CERT }}
|
||||||
destination-file: .\chia-blockchain-gui\win_code_sign_cert.p12
|
destination-file: .\chia-blockchain-gui\win_code_sign_cert.p12
|
||||||
|
|
||||||
|
# Create our own venv outside of the git directory JUST for getting the ACTUAL version so that install can't break it
|
||||||
|
- name: Get version number
|
||||||
|
id: version_number
|
||||||
|
run: |
|
||||||
|
python -m venv ..\venv
|
||||||
|
. ..\venv\Scripts\Activate.ps1
|
||||||
|
pip3 install setuptools_scm
|
||||||
|
$env:CHIA_INSTALLER_VERSION = python .\build_scripts\installer-version.py -win
|
||||||
|
echo "$env:CHIA_INSTALLER_VERSION"
|
||||||
|
echo "::set-output name=CHIA_INSTALLER_VERSION::$env:CHIA_INSTALLER_VERSION"
|
||||||
|
deactivate
|
||||||
|
|
||||||
- name: Build Windows installer with build_scripts\build_windows.ps1
|
- name: Build Windows installer with build_scripts\build_windows.ps1
|
||||||
env:
|
env:
|
||||||
WIN_CODE_SIGN_PASS: ${{ secrets.WIN_CODE_SIGN_PASS }}
|
WIN_CODE_SIGN_PASS: ${{ secrets.WIN_CODE_SIGN_PASS }}
|
||||||
@ -98,3 +110,39 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: Windows-Installers
|
name: Windows-Installers
|
||||||
path: ${{ github.workspace }}\chia-blockchain-gui\release-builds\
|
path: ${{ github.workspace }}\chia-blockchain-gui\release-builds\
|
||||||
|
|
||||||
|
|
||||||
|
- name: Install AWS CLI
|
||||||
|
run: |
|
||||||
|
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
|
||||||
|
|
||||||
|
- name: Configure AWS Credentials
|
||||||
|
uses: aws-actions/configure-aws-credentials@v1
|
||||||
|
with:
|
||||||
|
aws-access-key-id: ${{ secrets.INSTALLER_UPLOAD_KEY }}
|
||||||
|
aws-secret-access-key: ${{ secrets.INSTALLER_UPLOAD_SECRET }}
|
||||||
|
aws-region: us-west-2
|
||||||
|
|
||||||
|
- name: Upload to s3
|
||||||
|
env:
|
||||||
|
CHIA_INSTALLER_VERSION: ${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}
|
||||||
|
run: |
|
||||||
|
ls ${{ github.workspace }}\chia-blockchain-gui\release-builds\windows-installer\
|
||||||
|
aws s3 cp ${{ github.workspace }}\chia-blockchain-gui\release-builds\windows-installer\ChiaSetup-${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}.exe s3://download-chia-net/builds/.exe
|
||||||
|
|
||||||
|
- name: Create Checksums
|
||||||
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
env:
|
||||||
|
CHIA_INSTALLER_VERSION: ${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}
|
||||||
|
run: |
|
||||||
|
certutil.exe -hashfile ${{ github.workspace }}\chia-blockchain-gui\release-builds\windows-installer\ChiaSetup-${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}.exe SHA256 > ${{ github.workspace }}\chia-blockchain-gui\release-builds\windows-installer\ChiaSetup-${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}.exe.checksum
|
||||||
|
ls ${{ github.workspace }}\chia-blockchain-gui\release-builds\windows-installer\
|
||||||
|
|
||||||
|
- name: Upload Release Files
|
||||||
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
env:
|
||||||
|
AWS_ACCESS_KEY_ID: ${{ secrets.INSTALLER_UPLOAD_KEY }}
|
||||||
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.INSTALLER_UPLOAD_SECRET }}
|
||||||
|
run: |
|
||||||
|
aws s3 cp ${{ github.workspace }}\chia-blockchain-gui\release-builds\windows-installer\ChiaSetup-${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}.exe s3://download-chia-net/install/
|
||||||
|
aws s3 cp ${{ github.workspace }}\chia-blockchain-gui\release-builds\windows-installer\ChiaSetup-${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}.exe.checksum s3://download-chia-net/install/
|
||||||
|
@ -20,6 +20,7 @@ strategy:
|
|||||||
|
|
||||||
variables:
|
variables:
|
||||||
- group: Apple-Notarize-Variables
|
- group: Apple-Notarize-Variables
|
||||||
|
- group: AWS-Upload-Credentials
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- checkout: self # self represents the repo where the initial Azure Pipelines YAML file was found
|
- checkout: self # self represents the repo where the initial Azure Pipelines YAML file was found
|
||||||
@ -49,6 +50,9 @@ steps:
|
|||||||
pip install wheel pep517 setuptools_scm
|
pip install wheel pep517 setuptools_scm
|
||||||
node -v
|
node -v
|
||||||
pip install -i https://pypi.chia.net/simple/ miniupnpc==2.2.2
|
pip install -i https://pypi.chia.net/simple/ miniupnpc==2.2.2
|
||||||
|
cd build_scripts
|
||||||
|
touch $(System.DefaultWorkingDirectory)/build_scripts/version.txt
|
||||||
|
python -m installer-version > $(System.DefaultWorkingDirectory)/build_scripts/version.txt
|
||||||
displayName: "Install dependencies"
|
displayName: "Install dependencies"
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
@ -86,3 +90,32 @@ steps:
|
|||||||
targetPath: $(System.DefaultWorkingDirectory)/build_scripts/final_installer/
|
targetPath: $(System.DefaultWorkingDirectory)/build_scripts/final_installer/
|
||||||
artifactName: MacOS-DMG
|
artifactName: MacOS-DMG
|
||||||
displayName: "Upload MacOS DMG"
|
displayName: "Upload MacOS DMG"
|
||||||
|
|
||||||
|
- bash: |
|
||||||
|
ls $(System.DefaultWorkingDirectory)/build_scripts/
|
||||||
|
cat $(System.DefaultWorkingDirectory)/build_scripts/version.txt
|
||||||
|
displayName: "list files in dir"
|
||||||
|
|
||||||
|
- bash: |
|
||||||
|
ls $(System.DefaultWorkingDirectory)/build_scripts/final_installer/
|
||||||
|
cd $(System.DefaultWorkingDirectory)/build_scripts/
|
||||||
|
export CHIA_VERSION="Chia-"$(<version.txt)
|
||||||
|
shasum -a 256 $(System.DefaultWorkingDirectory)/build_scripts/final_installer/$CHIA_VERSION.dmg > $(System.DefaultWorkingDirectory)/build_scripts/final_installer/$CHIA_VERSION.dmg.checksum
|
||||||
|
ls $(System.DefaultWorkingDirectory)/build_scripts/final_installer/
|
||||||
|
displayName: "Create Checksums"
|
||||||
|
|
||||||
|
- bash: |
|
||||||
|
export AWS_ACCESS_KEY_ID=$(AccessKey)
|
||||||
|
export AWS_SECRET_ACCESS_KEY=$(SecretKey)
|
||||||
|
export AWS_DEFAULT_REGION=us-west-2
|
||||||
|
aws s3 cp $(System.DefaultWorkingDirectory)/build_scripts/final_installer/*.dmg s3://download-chia-net/builds/
|
||||||
|
displayName: "Upload to S3"
|
||||||
|
|
||||||
|
- bash: |
|
||||||
|
export AWS_ACCESS_KEY_ID=$(AccessKey)
|
||||||
|
export AWS_SECRET_ACCESS_KEY=$(SecretKey)
|
||||||
|
export AWS_DEFAULT_REGION=us-west-2
|
||||||
|
aws s3 cp $(System.DefaultWorkingDirectory)/build_scripts/final_installer/$CHIA_VERSION.dmg s3://download-chia-net/install/
|
||||||
|
aws s3 cp $(System.DefaultWorkingDirectory)/build_scripts/final_installer/$CHIA_VERSION.dmg.checksum s3://download-chia-net/install/
|
||||||
|
displayName: "Upload Release Files"
|
||||||
|
condition: contains(variables['build.sourceBranch'], 'refs/tags/')
|
||||||
|
Loading…
Reference in New Issue
Block a user