Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unstable #51

Merged
merged 17 commits into from
Nov 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
target/
*.data
*.tar.gz
9 changes: 9 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
root = true
[*]
indent_style=space
indent_size=4
end_of_line=lf
charset=utf-8
trim_trailing_whitespace=true
max_line_length=100
insert_final_newline=true
21 changes: 21 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
## Description

Please provide a brief description of the issue.

## Version

Please provide your SSV version and Rust version. Are you building from
`stable` or `unstable`, which commit?

## Present Behaviour

Describe the present behaviour of the application, with regards to this
issue.

## Expected Behaviour

How _should_ the application behave?

## Steps to resolve

Please describe the steps required to resolve this issue, if known.
12 changes: 12 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## Issue Addressed

Which issue # does this PR address?

## Proposed Changes

Please list or describe the changes introduced by this PR.

## Additional Info

Please provide any additional information. For example, future considerations
or information useful for reviewers.
3 changes: 3 additions & 0 deletions .github/custom/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Custom Cargo config to be used for the udeps CI job
[http]
multiplexing = false
34 changes: 34 additions & 0 deletions .github/workflows/book.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: mdbook

on:
push:
branches:
- unstable

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build-and-upload-to-s3:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4

- name: Setup mdBook
uses: peaceiris/actions-mdbook@v1
with:
mdbook-version: 'latest'

- run: mdbook build
working-directory: book

- uses: jakejarvis/s3-sync-action@be0c4ab89158cac4278689ebedd8407dd5f35a83
with:
args: --follow-symlinks --delete
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BOOK_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'ap-southeast-2'
SOURCE_DIR: 'book/book'
163 changes: 163 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
# TODO: Setup docker
# name: docker
#
# on:
# push:
# branches:
# - stable
# tags:
# - v*
#
# concurrency:
# group: ${{ github.workflow }}-${{ github.ref }}
# cancel-in-progress: true
#
# env:
# DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
# DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
# # Enable self-hosted runners for the sigp repo only.
# SELF_HOSTED_RUNNERS: ${{ github.repository == 'sigp/anchor' }}
#
# jobs:
# # Extract the VERSION which is either `latest` or `vX.Y.Z`, and the VERSION_SUFFIX
# # which is either empty or `-unstable`.
# #
# # It would be nice if the arch didn't get spliced into the version between `latest` and
# # `unstable`, but for now we keep the two parts of the version separate for backwards
# # compatibility.
# extract-version:
# runs-on: ubuntu-22.04
# steps:
# - name: Extract version (if stable)
# if: github.event.ref == 'refs/heads/stable'
# run: |
# echo "VERSION=latest" >> $GITHUB_ENV
# echo "VERSION_SUFFIX=" >> $GITHUB_ENV
# - name: Extract version (if unstable)
# if: github.event.ref == 'refs/heads/unstable'
# run: |
# echo "VERSION=latest" >> $GITHUB_ENV
# echo "VERSION_SUFFIX=-unstable" >> $GITHUB_ENV
# - name: Extract version (if tagged release)
# if: startsWith(github.event.ref, 'refs/tags')
# run: |
# echo "VERSION=$(echo ${GITHUB_REF#refs/tags/})" >> $GITHUB_ENV
# echo "VERSION_SUFFIX=" >> $GITHUB_ENV
# outputs:
# VERSION: ${{ env.VERSION }}
# VERSION_SUFFIX: ${{ env.VERSION_SUFFIX }}
# build-docker-single-arch:
# name: build-docker-${{ matrix.binary }}-${{ matrix.cpu_arch }}${{ matrix.features.version_suffix }}
# # Use self-hosted runners only on the sigp repo.
# runs-on: ${{ github.repository == 'sigp/anchor' && fromJson('["self-hosted", "linux", "release"]') || 'ubuntu-22.04' }}
# strategy:
# matrix:
# binary: [anchor]
# cpu_arch: [aarch64, x86_64]
# include:
# - profile: maxperf
#
# needs: [extract-version]
# env:
# VERSION: ${{ needs.extract-version.outputs.VERSION }}
# VERSION_SUFFIX: ${{ needs.extract-version.outputs.VERSION_SUFFIX }}
# steps:
# - uses: actions/checkout@v4
# - name: Update Rust
# if: env.SELF_HOSTED_RUNNERS == 'false'
# run: rustup update stable
# - name: Dockerhub login
# run: |
# echo "${DOCKER_PASSWORD}" | docker login --username ${DOCKER_USERNAME} --password-stdin
#
# - name: Sets env vars for Anchor
# if: startsWith(matrix.binary, 'anchor')
# run: |
# echo "CROSS_FEATURES=gnosis,spec-minimal,slasher-lmdb,jemalloc" >> $GITHUB_ENV
#
# - name: Set `make` command for anchor
# if: startsWith(matrix.binary, 'anchor')
# run: |
# echo "MAKE_CMD=build-${{ matrix.cpu_arch }}" >> $GITHUB_ENV
#
# - name: Set `make` command for lcli
# if: startsWith(matrix.binary, 'lcli')
# run: |
# echo "MAKE_CMD=build-lcli-${{ matrix.cpu_arch }}" >> $GITHUB_ENV
#
# - name: Cross build binaries
# run: |
# cargo install cross
# env CROSS_PROFILE=${{ matrix.profile }} CROSS_FEATURES=${{ env.CROSS_FEATURES }} make ${{ env.MAKE_CMD }}
#
# - name: Make bin dir
# run: mkdir ./bin
#
# - name: Move cross-built binary into Docker scope
# run: mv ./target/${{ matrix.cpu_arch }}-unknown-linux-gnu/${{ matrix.profile }}/${{ matrix.binary }} ./bin
#
# - name: Map aarch64 to arm64 short arch
# if: startsWith(matrix.cpu_arch, 'aarch64')
# run: echo "SHORT_ARCH=arm64" >> $GITHUB_ENV
#
# - name: Map x86_64 to amd64 short arch
# if: startsWith(matrix.cpu_arch, 'x86_64')
# run: echo "SHORT_ARCH=amd64" >> $GITHUB_ENV;
#
# - name: Install QEMU
# if: env.SELF_HOSTED_RUNNERS == 'false'
# run: sudo apt-get update && sudo apt-get install -y qemu-user-static
#
# - name: Set up Docker Buildx
# if: env.SELF_HOSTED_RUNNERS == 'false'
# uses: docker/setup-buildx-action@v3
#
# - name: Build and push (Anchor)
# if: startsWith(matrix.binary, 'anchor')
# uses: docker/build-push-action@v5
# with:
# file: ./Dockerfile.cross
# context: .
# platforms: linux/${{ env.SHORT_ARCH }}
# push: true
# tags: |
# ${{ github.repository_owner}}/${{ matrix.binary }}:${{ env.VERSION }}-${{ env.SHORT_ARCH }}${{ env.VERSION_SUFFIX }}
#
# - name: Build and push (lcli)
# if: startsWith(matrix.binary, 'lcli')
# uses: docker/build-push-action@v5
# with:
# file: ./lcli/Dockerfile.cross
# context: .
# platforms: linux/${{ env.SHORT_ARCH }}
# push: true
#
# tags: |
# ${{ github.repository_owner}}/${{ matrix.binary }}:${{ env.VERSION }}-${{ env.SHORT_ARCH }}${{ env.VERSION_SUFFIX }}
#
#
# build-docker-multiarch:
# name: build-docker-${{ matrix.binary }}-multiarch
# runs-on: ubuntu-22.04
# strategy:
# matrix:
# binary: [anchor,
# lcli]
# needs: [build-docker-single-arch, extract-version]
# env:
# VERSION: ${{ needs.extract-version.outputs.VERSION }}
# VERSION_SUFFIX: ${{ needs.extract-version.outputs.VERSION_SUFFIX }}
# steps:
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v3
#
# - name: Dockerhub login
# run: |
# echo "${DOCKER_PASSWORD}" | docker login --username ${DOCKER_USERNAME} --password-stdin
#
# - name: Create and push multiarch manifests
# run: |
# docker buildx imagetools create -t ${{ github.repository_owner}}/${{ matrix.binary }}:${VERSION}${VERSION_SUFFIX} \
# ${{ github.repository_owner}}/${{ matrix.binary }}:${VERSION}-arm64${VERSION_SUFFIX} \
# ${{ github.repository_owner}}/${{ matrix.binary }}:${VERSION}-amd64${VERSION_SUFFIX};
#
37 changes: 37 additions & 0 deletions .github/workflows/linkcheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# TODO: Setup mdbook
# name: linkcheck
#
# on:
# push:
# branches:
# - unstable
# pull_request:
# paths:
# - 'book/**'
# merge_group:
#
# concurrency:
# group: ${{ github.workflow }}-${{ github.ref }}
# cancel-in-progress: true
#
# jobs:
# linkcheck:
# name: Check broken links
# runs-on: ubuntu-latest
#
# steps:
# - name: Checkout code
# uses: actions/checkout@v4
#
# - name: Run mdbook server
# run: |
# docker run -v ${{ github.workspace }}/book:/book --name book -p 3000:3000 -d peaceiris/mdbook:latest serve --hostname 0.0.0.0
# sleep 5
#
# - name: Print logs
# run: docker logs book
#
# - name: Run linkcheck
# run: |
# curl -sL https://github.com/filiph/linkcheck/releases/download/3.0.0/linkcheck-3.0.0-linux-x64.tar.gz | tar xvzf - linkcheck/linkcheck --strip 1
# ./linkcheck localhost:3000 -d
Loading
Loading