Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
c757a5f
refactor(builder): Split resources creation from CliBuilder to Resour…
msbrogli May 12, 2023
b455e74
Merge branch 'release' into master without code changes
msbrogli May 16, 2023
54a1969
feat(events): realiable integration during the load phase (#555)
glevco May 16, 2023
0b70976
chore: add yamllint to all files (#598)
glevco May 17, 2023
03a14fd
chore(python): drop support for Python 3.8
jansegre Aug 2, 2022
3b372ac
Merge pull request #615 from HathorNetwork/chore/drop-python-3.8
jansegre May 17, 2023
77a9a01
refactor: move hathor settings to yaml configuration files [part 1/2]…
glevco May 18, 2023
33fb275
feat: Add safeguards for partially validated transactions (part 1/2)
msbrogli Apr 27, 2023
9ba84cc
refactor(stratum): Build StratumFactory on builder
msbrogli May 19, 2023
d7508e0
feat(sysctl): Add helper command
msbrogli May 19, 2023
5449ab6
feat(events): reset event queue command (#608)
glevco May 22, 2023
7b58c75
chore: python 3.9 updates (#616)
glevco May 23, 2023
c5c827e
feat(feature-activation): implement basic structures (#611)
glevco May 23, 2023
f822d88
refactor(p2p): Build ConnectionsManager in builder
msbrogli May 19, 2023
14ca91e
chore: implement dict and named_tuple utils
glevco May 19, 2023
ff76a08
chore: implement dict_from_extended_yaml and improve dict_from_yaml
glevco May 19, 2023
51b08d2
chore: update HathorSettings to use new utils
glevco May 19, 2023
3e88702
chore: lint code
glevco May 19, 2023
06ad097
chore: change deep_merge so it returns a new dict
glevco May 19, 2023
9c7516f
chore: fix test on windows
glevco May 19, 2023
e842911
chore: implement custom_root arg and extends recursion
glevco May 23, 2023
688c29b
chore: fix bug in validated_named_tuple_from_dict
glevco May 24, 2023
9f30280
Merge pull request #618 from HathorNetwork/chore/yaml-inheritance
jansegre May 24, 2023
5005cb6
feat: add safeguards for partially validated transactions [part 2/2]
jansegre May 18, 2023
d80def3
Merge pull request #617 from HathorNetwork/feat/validation-safeguards
jansegre May 24, 2023
7f35116
feat(ws): Change default configuration of WS_MAX_SUBS_ADDRS_CONN and …
msbrogli May 23, 2023
94e99cc
refactor(settings): make HathorSettings always return the same instance
jansegre May 23, 2023
45af368
Merge pull request #626 from HathorNetwork/refactor/settings-singleton
jansegre May 24, 2023
91d264c
chore(bump): v0.54.0
luislhl Apr 25, 2023
b2bb354
Merge pull request #567 from HathorNetwork/chore/bump-v0.54.0
jansegre May 24, 2023
664b4ab
Merge pull request #628 from HathorNetwork/master
jansegre May 24, 2023
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
2 changes: 1 addition & 1 deletion .codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ coverage:
# https://docs.codecov.io/docs/commit-status
status:
# TODO: re-enable patch in the future
patch: off
patch: false
project:
default:
# minimum coverage ratio that the commit must meet to be considered a success
Expand Down
226 changes: 113 additions & 113 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
# yamllint disable rule:line-length
name: docker
on:
on: # yamllint disable-line rule:truthy
push:
branches:
- master
- dev
- 'experimental/**'
- master
- dev
- 'experimental/**'
tags:
- v*
- v*
schedule:
- cron: '0 4 * * *' # nightlies at 4am UTC
- cron: '0 4 * * *' # nightlies at 4am UTC
env:
TEST_TAG: hathor-core:test
jobs:
Expand All @@ -20,114 +21,113 @@ jobs:
fail-fast: false
matrix:
python-impl:
- python
- pypy
- python
- pypy
python-version:
- '3.8'
- '3.9'
- '3.10'
- '3.11'
- '3.9'
- '3.10'
- '3.11'
exclude:
# XXX: neither pypy-3.10 nor pypy-3.11 exist yet, maybe pypy-3.10 will be out on PyPy v7.3.10
- python-impl: pypy
python-version: '3.10'
- python-impl: pypy
python-version: '3.11'
# XXX: neither pypy-3.10 nor pypy-3.11 exist yet, maybe pypy-3.10 will be out on PyPy v7.3.10
- python-impl: pypy
python-version: '3.10'
- python-impl: pypy
python-version: '3.11'
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Prepare base version
id: prep
run: |
export GITHUB_REF='${{ github.ref }}'
export GITHUB_EVENT_NAME='${{ github.event_name }}'
export GITHUB_SHA='${{ github.sha }}'
export GITHUB_EVENT_DEFAULT_BRANCH='${{ github.event.repository.default_branch }}'
export GITHUB_EVENT_NUMBER='${{ github.event.number }}'
export MATRIX_PYTHON_IMPL='${{ matrix.python-impl }}'
export MATRIX_PYTHON_VERSION='${{ matrix.python-version }}'
export SECRETS_DOCKERHUB_IMAGE='${{ secrets.DOCKERHUB_IMAGE }}'
export SECRETS_GHCR_IMAGE='${{ secrets.GHCR_IMAGE }}'
- name: Checkout
uses: actions/checkout@v3
- name: Prepare base version
id: prep
run: |
export GITHUB_REF='${{ github.ref }}'
export GITHUB_EVENT_NAME='${{ github.event_name }}'
export GITHUB_SHA='${{ github.sha }}'
export GITHUB_EVENT_DEFAULT_BRANCH='${{ github.event.repository.default_branch }}'
export GITHUB_EVENT_NUMBER='${{ github.event.number }}'
export MATRIX_PYTHON_IMPL='${{ matrix.python-impl }}'
export MATRIX_PYTHON_VERSION='${{ matrix.python-version }}'
export SECRETS_DOCKERHUB_IMAGE='${{ secrets.DOCKERHUB_IMAGE }}'
export SECRETS_GHCR_IMAGE='${{ secrets.GHCR_IMAGE }}'

python extras/github/docker.py
- name: Check version
if: steps.prep.outputs.check-version
run: |
make check-version VERSION='${{ steps.prep.outputs.check-version }}'
- name: Set up QEMU # arm64 is not available natively
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
version: latest
install: true
driver-opts: network=host
- name: Login to DockerHub
uses: docker/login-action@v2
if: steps.prep.outputs.login-dockerhub == 'true'
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
if: steps.prep.outputs.login-ghcr == 'true'
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Cache Docker layers
uses: actions/cache@v3
if: steps.prep_base_version.outputs.is-nightly == 'false'
with:
path: /tmp/.buildx-cache
# this key is setup such that every branch has its cache and new branches can reuse master's cache, but not the other way around
key: ${{ runner.os }}-buildx-${{ matrix.python-impl }}${{ matrix.python-version }}-${{ github.head_ref || github.ref }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-${{ matrix.python-impl }}${{ matrix.python-version }}-refs/heads/master-
- name: Build and export to Docker
uses: docker/build-push-action@v3
with:
context: .
file: ${{ steps.prep.outputs.dockerfile }}
build-args: PYTHON=${{ matrix.python-version }}
pull: true
load: true
tags: ${{ env.TEST_TAG }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
- name: Test image
run: docker run --rm ${{ env.TEST_TAG }} quick_test --data / --testnet
- name: Build and push
uses: docker/build-push-action@v3
continue-on-error: ${{ matrix.python-impl == 'pypy' }} # PyPy is not first-class and has been causing some build failures
if: ${{ !env.ACT }} # Skip this step when testing locally with https://github.com/nektos/act
with:
context: .
file: ${{ steps.prep.outputs.dockerfile }}
build-args: PYTHON=${{ matrix.python-version }}
platforms: linux/amd64,linux/arm64
pull: true
push: ${{ github.event_name != 'pull_request' && steps.prep.outputs.push }}
tags: ${{ steps.prep.outputs.tags }}
# see: https://github.com/opencontainers/image-spec/blob/master/annotations.md
labels: |
org.opencontainers.image.title=${{ github.event.repository.name }}
org.opencontainers.image.description=${{ github.event.repository.description }}
org.opencontainers.image.url=${{ github.event.repository.html_url }}
org.opencontainers.image.source=${{ github.event.repository.clone_url }}
org.opencontainers.image.version=${{ steps.prep.outputs.version }}
org.opencontainers.image.created=${{ steps.prep.outputs.created }}
org.opencontainers.image.revision=${{ github.sha }}
org.opencontainers.image.licenses=${{ github.event.repository.license.spdx_id }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
- name: Slack Notification
if: ${{ steps.prep.outputs.slack-notification-version && steps.prep_base_version.outputs.disable-slack-notification == 'false' && job.status == 'success' }}
uses: rtCamp/action-slack-notify@28e8b353eabda5998a2e1203aed33c5999944779
env:
SLACK_COLOR: ${{ job.status }} # It can turn the job status into a color. Success will be green.
SLACK_MESSAGE: 'We will be deploying this new image soon. Get in touch with the hathor-core team if you want to talk about this deployment.'
SLACK_TITLE: 'Hathor Core - new ${{ steps.prep.outputs.slack-notification-version }} Docker image pushed :rocket:'
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_FOOTER: ''
MSG_MINIMAL: actions url
python extras/github/docker.py
- name: Check version
if: steps.prep.outputs.check-version
run: |
make check-version VERSION='${{ steps.prep.outputs.check-version }}'
- name: Set up QEMU # arm64 is not available natively
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
version: latest
install: true
driver-opts: network=host
- name: Login to DockerHub
uses: docker/login-action@v2
if: steps.prep.outputs.login-dockerhub == 'true'
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
if: steps.prep.outputs.login-ghcr == 'true'
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Cache Docker layers
uses: actions/cache@v3
if: steps.prep_base_version.outputs.is-nightly == 'false'
with:
path: /tmp/.buildx-cache
# this key is setup such that every branch has its cache and new branches can reuse master's cache, but not the other way around
key: ${{ runner.os }}-buildx-${{ matrix.python-impl }}${{ matrix.python-version }}-${{ github.head_ref || github.ref }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-${{ matrix.python-impl }}${{ matrix.python-version }}-refs/heads/master-
- name: Build and export to Docker
uses: docker/build-push-action@v3
with:
context: .
file: ${{ steps.prep.outputs.dockerfile }}
build-args: PYTHON=${{ matrix.python-version }}
pull: true
load: true
tags: ${{ env.TEST_TAG }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
- name: Test image
run: docker run --rm ${{ env.TEST_TAG }} quick_test --data / --testnet
- name: Build and push
uses: docker/build-push-action@v3
continue-on-error: ${{ matrix.python-impl == 'pypy' }} # PyPy is not first-class and has been causing some build failures
if: ${{ !env.ACT }} # Skip this step when testing locally with https://github.com/nektos/act
with:
context: .
file: ${{ steps.prep.outputs.dockerfile }}
build-args: PYTHON=${{ matrix.python-version }}
platforms: linux/amd64,linux/arm64
pull: true
push: ${{ github.event_name != 'pull_request' && steps.prep.outputs.push }}
tags: ${{ steps.prep.outputs.tags }}
# see: https://github.com/opencontainers/image-spec/blob/master/annotations.md
labels: |
org.opencontainers.image.title=${{ github.event.repository.name }}
org.opencontainers.image.description=${{ github.event.repository.description }}
org.opencontainers.image.url=${{ github.event.repository.html_url }}
org.opencontainers.image.source=${{ github.event.repository.clone_url }}
org.opencontainers.image.version=${{ steps.prep.outputs.version }}
org.opencontainers.image.created=${{ steps.prep.outputs.created }}
org.opencontainers.image.revision=${{ github.sha }}
org.opencontainers.image.licenses=${{ github.event.repository.license.spdx_id }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
- name: Slack Notification
if: ${{ steps.prep.outputs.slack-notification-version && steps.prep_base_version.outputs.disable-slack-notification == 'false' && job.status == 'success' }}
uses: rtCamp/action-slack-notify@28e8b353eabda5998a2e1203aed33c5999944779
env:
SLACK_COLOR: ${{ job.status }} # It can turn the job status into a color. Success will be green.
SLACK_MESSAGE: 'We will be deploying this new image soon. Get in touch with the hathor-core team if you want to talk about this deployment.'
SLACK_TITLE: 'Hathor Core - new ${{ steps.prep.outputs.slack-notification-version }} Docker image pushed :rocket:'
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_FOOTER: ''
MSG_MINIMAL: actions url
Loading