Skip to content

Commit

Permalink
Add basic repository structure (#2)
Browse files Browse the repository at this point in the history
  • Loading branch information
AgeManning authored Sep 23, 2024
1 parent 28af4c9 commit 9979a63
Show file tree
Hide file tree
Showing 20 changed files with 1,327 additions and 2 deletions.
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
35 changes: 35 additions & 0 deletions .github/workflows/book.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# TODO: Setup markdown book
# 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/ssv' }}
#
# 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/ssv' && fromJson('["self-hosted", "linux", "release"]') || 'ubuntu-22.04' }}
# strategy:
# matrix:
# binary: [ssv]
# 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 SSV
# if: startsWith(matrix.binary, 'lighthouse')
# run: |
# echo "CROSS_FEATURES=gnosis,spec-minimal,slasher-lmdb,jemalloc" >> $GITHUB_ENV
#
# - name: Set `make` command for lighthouse
# if: startsWith(matrix.binary, 'lighthouse')
# 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 (Lighthouse)
# if: startsWith(matrix.binary, 'lighthouse')
# 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: [lighthouse,
# 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

0 comments on commit 9979a63

Please sign in to comment.