forked from graphprotocol/thegarii
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added GitHub Actions to build
thegarii
- Loading branch information
Showing
10 changed files
with
331 additions
and
84 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
**Do you want to request a *feature* or report a *bug*?** | ||
|
||
**What is the current behavior?** | ||
|
||
**If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.** | ||
|
||
**What is the expected behavior?** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
#!/usr/bin/env bash | ||
checksum() { | ||
echo $(sha256sum $@ | awk '{print $1}') | ||
} | ||
|
||
change_log_file="./CHANGELOG.md" | ||
version="## $@" | ||
version_prefix="## [0-9]{1,2}\." | ||
start=0 | ||
CHANGE_LOG="" | ||
while read line; do | ||
if [[ $line == *"$version"* ]]; then | ||
start=1 | ||
continue | ||
fi | ||
if [[ $line =~ $version_prefix ]] && [ $start == 1 ]; then | ||
break; | ||
fi | ||
if [ $start == 1 ]; then | ||
CHANGE_LOG+="$line\n" | ||
fi | ||
done < ${change_log_file} | ||
|
||
LINUX_X86_64_BIN_SUM="$(checksum ./linux-x86_64-unknown-linux-gnu)" | ||
|
||
OUTPUT=$(cat <<-END | ||
## Changelog\n | ||
${CHANGE_LOG}\n | ||
## Checksums\n | ||
| Assets | Sha256 Checksum |\n | ||
| :-----------: |------------|\n | ||
| thegarii-linux-x86-64 | ${LINUX_X86_64_BIN_SUM} |\n | ||
END | ||
) | ||
|
||
echo -e ${OUTPUT} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,35 +0,0 @@ | ||
## Changes | ||
|
||
<!-- | ||
Please provide a brief but specific list of changes made, describe the changes | ||
in functionality rather than the changes in code. | ||
--> | ||
|
||
- | ||
- | ||
- | ||
|
||
## Tests | ||
|
||
<!-- | ||
Details on how to run tests relevant to the changes within this pull request. | ||
--> | ||
|
||
``` | ||
``` | ||
|
||
## Issues | ||
|
||
<!-- | ||
Please link any issues that this pull request is related to and use the GitHub | ||
supported format for automatically closing issues (ie, closes #123, fixes #123) | ||
--> | ||
|
||
- | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# See https://github.com/actions-rs/audit-check | ||
name: Security audit | ||
on: | ||
schedule: | ||
- cron: '0 0 */7 * *' | ||
jobs: | ||
security_audit: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions-rs/audit-check@v1 | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
name: Continuous Integration | ||
|
||
on: | ||
push: | ||
branches: [master, develop] | ||
pull_request: | ||
types: [opened, synchronize, reopened] | ||
|
||
env: | ||
CARGO_TERM_COLOR: always | ||
RUST_BACKTRACE: full | ||
|
||
jobs: | ||
rustfmt: | ||
name: Check rustfmt style | ||
strategy: | ||
matrix: | ||
rust: ["stable"] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout Code | ||
uses: actions/checkout@v2 | ||
|
||
- name: Install Rust Toolchain(s) | ||
uses: actions-rs/toolchain@v1 | ||
with: | ||
profile: minimal | ||
toolchain: ${{ matrix.rust }} | ||
components: rustfmt | ||
override: true | ||
|
||
- name: Cache cargo registry | ||
uses: actions/cache@v2 | ||
with: | ||
path: | | ||
~/.cargo/registry | ||
~/.cargo/git | ||
key: rustfmt-cargo-${{ hashFiles('**/Cargo.toml') }} | ||
|
||
- name: Check formating | ||
uses: actions-rs/cargo@v1 | ||
env: | ||
RUSTFLAGS: "-D warnings" | ||
with: | ||
command: fmt | ||
args: --all -- --check | ||
|
||
release-check: | ||
name: Build in release mode | ||
strategy: | ||
matrix: | ||
rust: ["stable"] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout Code | ||
uses: actions/checkout@v2 | ||
|
||
- name: Install Rust Toolchain(s) | ||
uses: actions-rs/toolchain@v1 | ||
with: | ||
profile: minimal | ||
toolchain: ${{ matrix.rust }} | ||
override: true | ||
|
||
- name: Cache cargo registry | ||
uses: actions/cache@v2 | ||
with: | ||
path: | | ||
~/.cargo/registry | ||
~/.cargo/git | ||
key: release-cargo-${{ hashFiles('**/Cargo.toml') }} | ||
|
||
- name: Cargo check (release) | ||
uses: actions-rs/cargo@v1 | ||
env: | ||
RUSTFLAGS: "-D warnings" | ||
with: | ||
command: check | ||
args: --release |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,173 @@ | ||
name: Release | ||
|
||
on: | ||
push: | ||
tags: | ||
- "*" | ||
workflow_dispatch: | ||
|
||
env: | ||
REGISTRY: ghcr.io | ||
IMAGE_NAME: ${{ github.repository }} | ||
|
||
jobs: | ||
build: | ||
name: Build Release | ||
runs-on: ubuntu-latest | ||
|
||
permissions: | ||
contents: read | ||
packages: write | ||
|
||
strategy: | ||
matrix: | ||
rust: [stable] | ||
|
||
steps: | ||
- name: Checkout Code | ||
uses: actions/checkout@v2 | ||
|
||
- uses: actions-rs/toolchain@v1 | ||
with: | ||
profile: minimal | ||
toolchain: ${{ matrix.rust }} | ||
components: rustfmt | ||
override: true | ||
|
||
- uses: actions/cache@v2 | ||
name: Cache cargo registry | ||
with: | ||
path: | | ||
~/.cargo/registry | ||
~/.cargo/git | ||
key: release-cargo-${{ hashFiles('**/Cargo.toml') }} | ||
|
||
- name: Cache LLVM and Clang | ||
uses: actions/cache@v2 | ||
id: cache-llvm | ||
with: | ||
path: | | ||
./llvm | ||
key: llvm-10 | ||
|
||
- name: Install LLVM and Clang | ||
uses: KyleMayes/install-llvm-action@v1 | ||
with: | ||
version: "10" | ||
cached: ${{ steps.cache-llvm.outputs.cache-hit }} | ||
|
||
- name: Build target | ||
uses: actions-rs/cargo@v1 | ||
env: | ||
CARGO_PROFILE_RELEASE_CODEGEN_UNITS: '1' | ||
CARGO_PROFILE_RELEASE_LTO: 'fat' | ||
with: | ||
# We cannot use `cross` tool right now. The reason is that we require some | ||
# local libraries, `libclang.so` specifically. The `cross` tool runs a Docker | ||
# container which does not have the library in question. We will need to wait to | ||
# have support of https://github.com/cross-rs/cross/pull/635 to be able to cross | ||
# compile properly. | ||
# use-cross: true | ||
command: build | ||
args: --release | ||
|
||
- name: Upload Build | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: linux-x86_64-unknown-linux-gnu | ||
path: ./target/release/thegarii | ||
|
||
release: | ||
name: Release | ||
needs: [build] | ||
runs-on: ubuntu-latest | ||
|
||
permissions: | ||
contents: write | ||
packages: write | ||
|
||
steps: | ||
- name: Set Env | ||
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV | ||
|
||
- name: Checkout Code | ||
uses: actions/checkout@v2 | ||
|
||
- name: Generate Change Log | ||
id: changelog | ||
if: ${{ startsWith(github.ref, 'refs/tags/') }} | ||
run: | | ||
chmod 755 ./.github/generate_change_log.sh | ||
CHANGELOG=$(./.github/generate_change_log.sh ${{ env.RELEASE_VERSION }}) | ||
echo "CHANGELOG<<EOF" >> $GITHUB_ENV | ||
echo "$CHANGELOG" >> $GITHUB_ENV | ||
echo "EOF" >> $GITHUB_ENV | ||
- name: Download All Artifacts | ||
id: download-artifacts | ||
uses: actions/download-artifact@v2 | ||
with: | ||
path: ./binaries | ||
|
||
- name: Sanitize Downloaded Files | ||
run: | | ||
# We downloaded all the artifacts previously uploaded and we put them in | ||
# the 'binaries' folder. In this folder, the layout is: | ||
# | ||
# binaries | ||
# ├── linux-arm64-unknown-linux-gnu | ||
# │ └── <binary> | ||
# └── linux-x86_64-unknown-linux-gnu | ||
# └── <binary> | ||
# | ||
# The sub-folder name comes from the 'name' field of the 'actions/upload-artifact@v2' | ||
# step. The '<binary>' file name is the filename of the uploaded 'path' field, | ||
# we used './target/release/<binary>' in the upload step so the file name here | ||
# is '<binary>'. | ||
download_path="${{steps.download-artifacts.outputs.download-path}}" | ||
chmod +x "${download_path}/linux-x86_64-unknown-linux-gnu/thegarii" | ||
mv "$download_path/linux-x86_64-unknown-linux-gnu/thegarii" "$download_path/thegarii-x86_64-unknown-linux-gnu" | ||
- name: Log in to the Container registry | ||
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 | ||
with: | ||
registry: ${{ env.REGISTRY }} | ||
username: ${{ github.actor }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Generate docker tags/labels from github build context | ||
id: meta | ||
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 | ||
with: | ||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | ||
tags: | | ||
type=ref,event=tag | ||
type=sha,prefix=,enable=true | ||
flavor: | | ||
latest=${{ startsWith(github.ref, 'refs/tags/') }} | ||
- name: Build and push Docker image | ||
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc | ||
with: | ||
context: ${{steps.download-artifacts.outputs.download-path}} | ||
file: ./Dockerfile | ||
push: true | ||
tags: ${{ steps.meta.outputs.tags }} | ||
labels: ${{ steps.meta.outputs.labels }} | ||
|
||
- name: Create Release | ||
uses: softprops/action-gh-release@v1 | ||
if: ${{ startsWith(github.ref, 'refs/tags/') }} | ||
with: | ||
name: ${{ env.RELEASE_VERSION }} | ||
tag_name: ${{ env.RELEASE_VERSION }} | ||
draft: false | ||
prerelease: false | ||
body: ${{ env.CHANGELOG }} | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
fail_on_unmatched_files: true | ||
generate_release_notes: true | ||
files: | | ||
${{steps.download-artifacts.outputs.download-path}}/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
## 0.2.0 | ||
|
||
- Re-branded under Firehose (remove all usage of `deep mind`, `DMLOG` and other similar names). | ||
|
||
**Important** https://github.com/streamingfast/firehose-arweave/commit/5f34975b59911eefdf0f5c3862b2f01f4d34738a | ||
or older is required as the Firehose logs exchanged format has changed and requires a recent enough version | ||
of `firehose-arweave`. |
Oops, something went wrong.