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:
|
||||
fetch-depth: 0
|
||||
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
|
||||
run: |
|
||||
@ -72,6 +81,37 @@ jobs:
|
||||
name: Linux-ARM-64-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
|
||||
run: |
|
||||
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
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
@ -67,6 +68,16 @@ jobs:
|
||||
restore-keys: |
|
||||
${{ 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
|
||||
env:
|
||||
INSTALL_PYTHON_VERSION: ${{ matrix.python-version }}
|
||||
@ -94,3 +105,37 @@ jobs:
|
||||
with:
|
||||
name: Linux-Installers
|
||||
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
|
||||
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
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: Chia-Installer-on-MacOS-10.15-dmg
|
||||
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: |
|
||||
unset HAS_SECRET
|
||||
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:
|
||||
SECRET: "${{ secrets.WIN_CODE_SIGN_CERT }}"
|
||||
|
||||
@ -78,6 +78,18 @@ jobs:
|
||||
encoded-value: ${{ secrets.WIN_CODE_SIGN_CERT }}
|
||||
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
|
||||
env:
|
||||
WIN_CODE_SIGN_PASS: ${{ secrets.WIN_CODE_SIGN_PASS }}
|
||||
@ -98,3 +110,39 @@ jobs:
|
||||
with:
|
||||
name: Windows-Installers
|
||||
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:
|
||||
- group: Apple-Notarize-Variables
|
||||
- group: AWS-Upload-Credentials
|
||||
|
||||
steps:
|
||||
- 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
|
||||
node -v
|
||||
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"
|
||||
|
||||
- script: |
|
||||
@ -86,3 +90,32 @@ steps:
|
||||
targetPath: $(System.DefaultWorkingDirectory)/build_scripts/final_installer/
|
||||
artifactName: 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