Backport github actions from old main

This commit is contained in:
draganrakita 2021-02-25 17:04:21 +01:00 committed by rakita
parent 1d2b640834
commit 142b63a4f9
4 changed files with 83 additions and 86 deletions

View File

@ -1,33 +0,0 @@
name: Build and Test Suite on Windows
on:
push:
branches:
- main
- dev
jobs:
build-tests:
name: Test and Build
strategy:
matrix:
platform:
- windows2019 # custom runner
toolchain:
- stable
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout sources
uses: actions/checkout@main
with:
submodules: true
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.toolchain }}
profile: minimal
override: true
- name: Build tests
uses: actions-rs/cargo@v1
with:
command: test
args: --locked --all --release --features "json-tests" --verbose --no-run

View File

@ -9,6 +9,7 @@ on:
env: env:
AWS_REGION: "us-east-1" AWS_REGION: "us-east-1"
AWS_S3_ARTIFACTS_BUCKET: "openethereum-releases" AWS_S3_ARTIFACTS_BUCKET: "openethereum-releases"
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
jobs: jobs:
build: build:
@ -18,7 +19,6 @@ jobs:
platform: platform:
- ubuntu-16.04 - ubuntu-16.04
- macos-latest - macos-latest
- windows2019
toolchain: toolchain:
- stable - stable
runs-on: ${{ matrix.platform }} runs-on: ${{ matrix.platform }}
@ -36,25 +36,25 @@ jobs:
# Windows Build # Windows Build
# ============================== # ==============================
- name: Install LLVM for Windows # - name: Install LLVM for Windows
if: matrix.platform == 'windows2019' # if: matrix.platform == 'windows2019'
run: choco install llvm -y # run: choco install llvm
- name: Build OpenEthereum for Windows # - name: Build OpenEthereum for Windows
if: matrix.platform == 'windows2019' # if: matrix.platform == 'windows2019'
run: sh scripts/actions/build-windows.sh ${{matrix.platform}} # run: sh scripts/actions/build-windows.sh ${{matrix.platform}}
- name: Upload Windows build # - name: Upload Windows build
uses: actions/upload-artifact@v2 # uses: actions/upload-artifact@v2
if: matrix.platform == 'windows2019' # if: matrix.platform == 'windows2019'
with: # with:
name: windows-artifacts # name: windows-artifacts
path: artifacts # path: artifacts
# ============================== # ==============================
# Linux/Macos Build # Linux/Macos Build
# ============================== # ==============================
- name: Build OpenEthereum for ${{matrix.platform}} - name: Build OpenEthereum for ${{matrix.platform}}
if: matrix.platform != 'windows2019' if: matrix.platform != 'windows2019'
run: sh scripts/actions/build-linux.sh ${{matrix.platform}} run: sh scripts/actions/build-linux.sh ${{matrix.platform}}
@ -85,11 +85,11 @@ jobs:
# Create ZIP files # Create ZIP files
# ============================== # ==============================
- name: Download Windows artifacts # - name: Download Windows artifacts
uses: actions/download-artifact@v2 # uses: actions/download-artifact@v2
with: # with:
name: windows-artifacts # name: windows-artifacts
path: windows-artifacts # path: windows-artifacts
- name: Download Linux artifacts - name: Download Linux artifacts
uses: actions/download-artifact@v2 uses: actions/download-artifact@v2
@ -132,18 +132,18 @@ jobs:
echo ::set-output name=MACOS_ARTIFACT::openethereum-macos-${{ env.RELEASE_VERSION }}.zip echo ::set-output name=MACOS_ARTIFACT::openethereum-macos-${{ env.RELEASE_VERSION }}.zip
echo ::set-output name=MACOS_SHASUM::$(shasum -a 256 openethereum-macos-${{ env.RELEASE_VERSION }}.zip | awk '{print $1}') echo ::set-output name=MACOS_SHASUM::$(shasum -a 256 openethereum-macos-${{ env.RELEASE_VERSION }}.zip | awk '{print $1}')
- name: Create zip Windows # - name: Create zip Windows
id: create_zip_windows # id: create_zip_windows
run: | # run: |
cd windows-artifacts/ # cd windows-artifacts/
zip -rT openethereum-windows-${{ env.RELEASE_VERSION }}.zip * # zip -rT openethereum-windows-${{ env.RELEASE_VERSION }}.zip *
ls openethereum-windows-${{ env.RELEASE_VERSION }}.zip # ls openethereum-windows-${{ env.RELEASE_VERSION }}.zip
cd .. # cd ..
mv windows-artifacts/openethereum-windows-${{ env.RELEASE_VERSION }}.zip . # mv windows-artifacts/openethereum-windows-${{ env.RELEASE_VERSION }}.zip .
echo "Setting outputs..." # echo "Setting outputs..."
echo ::set-output name=WINDOWS_ARTIFACT::openethereum-windows-${{ env.RELEASE_VERSION }}.zip # echo ::set-output name=WINDOWS_ARTIFACT::openethereum-windows-${{ env.RELEASE_VERSION }}.zip
echo ::set-output name=WINDOWS_SHASUM::$(shasum -a 256 openethereum-windows-${{ env.RELEASE_VERSION }}.zip | awk '{print $1}') # echo ::set-output name=WINDOWS_SHASUM::$(shasum -a 256 openethereum-windows-${{ env.RELEASE_VERSION }}.zip | awk '{print $1}')
# ======================================================================= # =======================================================================
# Upload artifacts # Upload artifacts
@ -162,11 +162,11 @@ jobs:
name: openethereum-macos-${{ env.RELEASE_VERSION }}.zip name: openethereum-macos-${{ env.RELEASE_VERSION }}.zip
path: openethereum-macos-${{ env.RELEASE_VERSION }}.zip path: openethereum-macos-${{ env.RELEASE_VERSION }}.zip
- name: Upload artifacts # - name: Upload artifacts
uses: actions/upload-artifact@v2 # uses: actions/upload-artifact@v2
with: # with:
name: openethereum-windows-${{ env.RELEASE_VERSION }}.zip # name: openethereum-windows-${{ env.RELEASE_VERSION }}.zip
path: openethereum-windows-${{ env.RELEASE_VERSION }}.zip # path: openethereum-windows-${{ env.RELEASE_VERSION }}.zip
# ======================================================================= # =======================================================================
# Upload artifacts to S3 # Upload artifacts to S3
@ -191,8 +191,8 @@ jobs:
linux-shasum: ${{ steps.create_zip_linux.outputs.LINUX_SHASUM }} linux-shasum: ${{ steps.create_zip_linux.outputs.LINUX_SHASUM }}
macos-artifact: ${{ steps.create_zip_macos.outputs.MACOS_ARTIFACT }} macos-artifact: ${{ steps.create_zip_macos.outputs.MACOS_ARTIFACT }}
macos-shasum: ${{ steps.create_zip_macos.outputs.MACOS_SHASUM }} macos-shasum: ${{ steps.create_zip_macos.outputs.MACOS_SHASUM }}
windows-artifact: ${{ steps.create_zip_windows.outputs.WINDOWS_ARTIFACT }} # windows-artifact: ${{ steps.create_zip_windows.outputs.WINDOWS_ARTIFACT }}
windows-shasum: ${{ steps.create_zip_windows.outputs.WINDOWS_SHASUM }} # windows-shasum: ${{ steps.create_zip_windows.outputs.WINDOWS_SHASUM }}
draft-release: draft-release:
name: Draft Release name: Draft Release
@ -216,10 +216,10 @@ jobs:
with: with:
name: openethereum-macos-${{ env.RELEASE_VERSION }}.zip name: openethereum-macos-${{ env.RELEASE_VERSION }}.zip
- name: Download artifacts # - name: Download artifacts
uses: actions/download-artifact@v2 # uses: actions/download-artifact@v2
with: # with:
name: openethereum-windows-${{ env.RELEASE_VERSION }}.zip # name: openethereum-windows-${{ env.RELEASE_VERSION }}.zip
- name: Display structure of downloaded files - name: Display structure of downloaded files
run: ls run: ls
@ -273,13 +273,13 @@ jobs:
asset_name: openethereum-macos-${{ env.RELEASE_VERSION }}.zip asset_name: openethereum-macos-${{ env.RELEASE_VERSION }}.zip
asset_content_type: application/zip asset_content_type: application/zip
- name: Upload Release Asset - Windows # - name: Upload Release Asset - Windows
id: upload_release_asset_windows # id: upload_release_asset_windows
uses: actions/upload-release-asset@v1 # uses: actions/upload-release-asset@v1
env: # env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: # with:
upload_url: ${{ steps.create_release_draft.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps # upload_url: ${{ steps.create_release_draft.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./openethereum-windows-${{ env.RELEASE_VERSION }}.zip # asset_path: ./openethereum-windows-${{ env.RELEASE_VERSION }}.zip
asset_name: openethereum-windows-${{ env.RELEASE_VERSION }}.zip # asset_name: openethereum-windows-${{ env.RELEASE_VERSION }}.zip
asset_content_type: application/zip # asset_content_type: application/zip

View File

@ -30,12 +30,12 @@ jobs:
uses: actions-rs/cargo@v1 uses: actions-rs/cargo@v1
with: with:
command: check command: check
args: --locked --manifest-path crates/runtime/io/Cargo.toml --no-default-features --verbose args: --locked --manifest-path util/io/Cargo.toml --no-default-features --verbose
- name: Run cargo check 3/3 - name: Run cargo check 3/3
uses: actions-rs/cargo@v1 uses: actions-rs/cargo@v1
with: with:
command: check command: check
args: --locked --manifest-path crates/runtime/io/Cargo.toml --features "mio" --verbose args: --locked --manifest-path util/io/Cargo.toml --features "mio" --verbose
- name: Run cargo check evmbin - name: Run cargo check evmbin
uses: actions-rs/cargo@v1 uses: actions-rs/cargo@v1
with: with:

30
.github/workflows/deploy-docker.yml vendored Normal file
View File

@ -0,0 +1,30 @@
name: Docker Image Release
on:
push:
branches:
- main
tags:
- v*
jobs:
deploy-docker:
name: Build Release
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@master
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
- name: Deploy to docker hub
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: openethereum/openethereum
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
dockerfile: scripts/docker/alpine/Dockerfile
tag_names: true