Skip to content

Commit

Permalink
Update github action
Browse files Browse the repository at this point in the history
  • Loading branch information
gruve-p committed Aug 19, 2023
1 parent 6e8e1c8 commit c11bb58
Show file tree
Hide file tree
Showing 7 changed files with 76 additions and 171 deletions.
12 changes: 1 addition & 11 deletions .github/CONTRIBUTING.adoc
Original file line number Diff line number Diff line change
@@ -1,13 +1,3 @@
# Contributing Guidelines

We love https://github.com/bitcoinj/bitcoinj/pulls[pull requests] from everyone! https://github.com/bitcoinj/bitcoinj/issues[Bug reports] are also welcome.

However, if you have a question or would like to start a discussion, please post to one of the following:

* Our https://matrix.org[Matrix] room: https://matrix.to/#/#bitcoinj:matrix.org[#bitcoinj:matrix.org]
* The https://groups.google.com/forum/#!forum/bitcoinj[bitcoinj google group]
* https://bitcoin.stackexchange.com/questions/tagged/bitcoinj[Bitcoin stack exchange].
We recommend opening an https://github.com/bitcoinj/bitcoinj/issue[GitHub Issue] or starting a discussion in https://matrix.to/#/#bitcoinj:matrix.org[#bitcoinj:matrix.org] _before_ creating a pull request with a significant change. This will allow other developers to give you feedback on your idea and how it might best align with **bitcoinj** and the development team's future plans for **bitcoinj**.

The https://bitcoinj.org/[bitcoinj.org] documentation website contains useful information, but is out-of-date with respect to the current version of **bitcoinj**. If you would like to help update the documentation website, you can find the source at https://github.com/bitcoinj/bitcoinj.github.io[bitcoinj / bitcoinj.github.io] on GitHub. Pull requests to update the documentation are a great way to get starting contributing and would be greatly appreciated.
We love https://github.com/Groestlcoin/groestlcoinj/pulls[pull requests] from everyone! https://github.com/Groestlcoin/groestlcoinj/issues[Bug reports] are also welcome.
13 changes: 7 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,16 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macOS-latest, windows-latest]
java: ['8', '11', '17']
java: ['11', '17', '19']
distribution: ['temurin']
gradle: ['7.2']
gradle: ['7.6.2']
fail-fast: false
name: JAVA ${{ matrix.distribution }} ${{ matrix.java }} OS ${{ matrix.os }} Gradle ${{ matrix.gradle }}
steps:
- uses: actions/checkout@v1
- name: Git checkout
uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v2
uses: actions/setup-java@v3
with:
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}
Expand All @@ -29,12 +30,12 @@ jobs:
cmake --build .
cd ../../..
- name: Build with Gradle
uses: gradle/gradle-build-action@v1
uses: gradle/gradle-build-action@v2
with:
gradle-version: ${{ matrix.gradle }}
arguments: assemble --stacktrace
- name: Upload Artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
if: always()
with:
name: groestlcoinj-core-${{ matrix.java }}-${{ matrix.os }}
Expand Down
74 changes: 40 additions & 34 deletions .github/workflows/checkpoints.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,38 +4,44 @@ on: [push, pull_request]

jobs:
build:

runs-on: ubuntu-latest

runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macOS-latest]
java: ['11', '17', '19']
distribution: ['temurin']
gradle: ['7.6.2']
fail-fast: false
name: JAVA ${{ matrix.distribution }} ${{ matrix.java }} OS ${{ matrix.os }} Gradle ${{ matrix.gradle }}
steps:
- uses: actions/checkout@v3
- name: set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'temurin'
cache: gradle

- name: set NOW env
run: echo "NOW=$(date +'%d.%m.%Y')" >> $GITHUB_ENV

- name: Build mainnet checkpoints
run: ./tools/build-checkpoints --net=PROD

- name: Build testnet checkpoints
run: ./tools/build-checkpoints --net=TEST

- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: checkpoints-${{ env.NOW }}
path: |
tools/checkpoints.txt
tools/checkpoints-testnet.txt
if-no-files-found: error
retention-days: 7

- name: Download artifacts
uses: actions/download-artifact@v2
with:
name: checkpoints-${{ env.NOW }}
- name: Git checkout
uses: actions/checkout@v3
- name: set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'temurin'
cache: gradle
- name: set NOW env
run: echo "NOW=$(date +'%d.%m.%Y')" >> $GITHUB_ENV
- name: Build with Gradle
uses: gradle/gradle-build-action@v2
with:
gradle-version: ${{ matrix.gradle }}
- name: Build mainnet checkpoints
run: ./tools/build-checkpoints --net=MAINNET
- name: Build testnet checkpoints
run: ./tools/build-checkpoints --net=TESTNET
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: checkpoints-${{ env.NOW }}
path: |
tools/checkpoints.txt
tools/checkpoints-testnet.txt
if-no-files-found: error
retention-days: 7
- name: Download artifacts
uses: actions/download-artifact@v3
with:
name: checkpoints-${{ env.NOW }}
4 changes: 2 additions & 2 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
name: JAVA ${{ matrix.distribution }} ${{ matrix.java }} OS ${{ matrix.os }} Gradle ${{ matrix.gradle }}
steps:
- name: Git checkout
uses: actions/checkout@v1
uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
Expand All @@ -37,7 +37,7 @@ jobs:
cmake --build .
cd ../../..
- name: Build with Gradle
uses: gradle/gradle-build-action@v2.4.2
uses: gradle/gradle-build-action@v2
with:
gradle-version: ${{ matrix.gradle }}
arguments: -PtestJdk8=true build --info --stacktrace
Expand Down
4 changes: 2 additions & 2 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ bullseye-jdk11:
after_script:
- gradle --version
artifacts:
name: bitcoinj-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA
name: groestlcoinj-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA
paths:
- core/build/libs/*.jar

Expand All @@ -22,7 +22,7 @@ bookworm-jdk17:
after_script:
- gradle --version
artifacts:
name: bitcoinj-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA
name: groestlcoinj-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA
paths:
- core/build/libs/*.jar

Expand Down
64 changes: 24 additions & 40 deletions README.adoc
Original file line number Diff line number Diff line change
@@ -1,92 +1,76 @@
image:https://github.com/bitcoinj/bitcoinj/workflows/Java%20CI/badge.svg[GitHub Build Status,link=https://github.com/bitcoinj/bitcoinj/actions]
image:https://gitlab.com/bitcoinj/bitcoinj/badges/master/pipeline.svg[GitLab Build Status,link=https://gitlab.com/bitcoinj/bitcoinj/-/pipelines]
image:https://coveralls.io/repos/bitcoinj/bitcoinj/badge.png?branch=master[Coverage Status,link=https://coveralls.io/r/bitcoinj/bitcoinj?branch=master]
image:https://github.com/groestlcoin/groestlcoinj/workflows/Java%20CI/badge.svg[GitHub Build Status,link=https://github.com/groestlcoin/groestlcoinj/actions]

image::https://img.shields.io/badge/chat-Join%20bitcoinj%20users%20on%20Matrix-blue[Join the bitcoinj-users Matrix room, link=https://matrix.to/#/#bitcoinj-users:matrix.org]
[![Visit our IRC channel](https://kiwiirc.com/buttons/irc.libera.chat/groestlcoin.png)](https://kiwiirc.com/nextclient/irc.libera.chat/groestlcoin)

### Welcome to bitcoinj
### Welcome to groestlcoinj

The bitcoinj library is a Java implementation of the Bitcoin protocol, which allows it to maintain a wallet and send/receive transactions without needing a local copy of Bitcoin Core. It comes with full documentation and some example apps showing how to use it.
The groestlcoinj library is a Java implementation of the Groestlcoin protocol, which allows it to maintain a wallet and send/receive transactions without needing a local copy of Groestlcoin Core. It comes with full documentation and some example apps showing how to use it.

### Technologies

* Java 8+ (needs Java 8 API or Android 8.0 API, compiles to Java 8 bytecode) and Gradle 4.4+ for the `core` module
* Java 11+ and Gradle 4.4+ for `tools`, `wallettool` and `examples`
* Java 8+ (needs Java 8 API or Android 6.0 API, compiles to Java 8 bytecode) and Gradle 4.4+ for the `core` module
* Java 8+ and Gradle 4.4+ for `tools` and `examples`
* Java 11+ and Gradle 4.10+ for the JavaFX-based `wallettemplate`
* https://gradle.org/[Gradle] - for building the project
* https://github.com/google/protobuf[Google Protocol Buffers] - for use with serialization and hardware communications
* [Gradle](https://gradle.org/) - for building the project
* [Google Protocol Buffers](https://github.com/google/protobuf) - for use with serialization and hardware communications
### Getting started

To get started, it is best to have the latest JDK and Gradle installed. The HEAD of the `master` branch contains the latest development code and various production releases are provided on feature branches.

#### Building from the command line

Official builds are currently using JDK 11. Our GitHub Actions build and test with JDK 11 and JDK 17.

To perform a full build (_including_ JavaDocs and unit/integration _tests_) use JDK 11+.
Official builds are currently using with JDK 8, even though the `core` module is compatible with JDK 7 and later.

To perform a full build (*including* JavaDocs and unit/integration *tests*) use JDK 8+
```
gradle clean build
```
If you are using Gradle 4.10 or later, the build will automatically include the JavaFX-based `wallettemplate` module. The outputs are under the `build` directory.
If you are running JDK 11 or later and Gradle 4.10 or later, the build will automatically include the JavaFX-based `wallettemplate` module. The outputs are under the `build` directory.

To perform a full build _without_ unit/integration _tests_ use:
To perform a full build *without* unit/integration *tests* use:
```
gradle clean assemble
```

#### Building from an IDE

Alternatively, just import the project using your IDE. http://www.jetbrains.com/idea/download/[IntelliJ] has Gradle integration built-in and has a free Community Edition. Simply use `File | New | Project from Existing Sources` and locate the `build.gradle` in the root of the cloned project source tree.
Alternatively, just import the project using your IDE. [IntelliJ](http://www.jetbrains.com/idea/download/) has Gradle integration built-in and has a free Community Edition. Simply use `File | New | Project from Existing Sources` and locate the `build.gradle` in the root of the cloned project source tree.

### Building and Using the Wallet Tool

The *bitcoinj* `wallettool` subproject includes a command-line Wallet Tool (`wallet-tool`) that can be used to create and manage *bitcoinj*-based wallets (both the HD keychain and SPV blockchain state.) Using `wallet-tool` on Bitcoin's test net is a great way to learn about Bitcoin and *bitcoinj*.
The **groestlcoinj** `tools` subproject includes a command-line Wallet Tool (`wallet-tool`) that can be used to create and manage **groestlcoinj**-based wallets (both the HD keychain and SPV blockchain state.) Using `wallet-tool` on Groestlcoin's test net is a great way to learn about Groestlcoin and **groestlcoinj**.

To build an executable shell script that runs the command-line Wallet Tool, use:
```
gradle bitcoinj-wallettool:installDist
gradle groestlcoinj-tools:installDist
```

You can now run the `wallet-tool` without parameters to get help on its operation:
```
./wallettool/build/install/wallet-tool/bin/wallet-tool
./tools/build/install/wallet-tool/bin/wallet-tool
```

To create a test net wallet file in `~/bitcoinj/bitcoinj-test.wallet`, you would use:
To create a test net wallet file in `~/groestlcoinj/groestlcoinj-test.wallet`, you would use:
```
mkdir ~/bitcoinj
mkdir ~/groestlcoinj
```
```
./wallettool/build/install/wallet-tool/bin/wallet-tool --net=TESTNET --wallet=$HOME/bitcoinj/bitcoinj-test.wallet create
./tools/build/install/wallet-tool/bin/wallet-tool --net=TEST --wallet=$HOME/groestlcoinj/groestlcoinj-test.wallet create
```

To sync the newly created wallet in `~/bitcoinj/bitcoinj-test.wallet` with the test net, you would use:
To sync the newly created wallet in `~/groestlcoinj/groestlcoinj-test.wallet` with the test net, you would use:
```
./wallettool/build/install/wallet-tool/bin/wallet-tool --net=TESTNET --wallet=$HOME/bitcoinj/bitcoinj-test.wallet sync
./tools/build/install/wallet-tool/bin/wallet-tool --net=TEST --wallet=$HOME/groestlcoinj/groestlcoinj-test.wallet sync
```

To dump the state of the wallet in `~/bitcoinj/bitcoinj-test.wallet` with the test net, you would use:
To dump the state of the wallet in `~/groestlcoinj/groestlcoinj-test.wallet` with the test net, you would use:
```
./wallettool/build/install/wallet-tool/bin/wallet-tool --net=TESTNET --wallet=$HOME/bitcoinj/bitcoinj-test.wallet dump
./tools/build/install/wallet-tool/bin/wallet-tool --net=TEST --wallet=$HOME/groestlcoinj/groestlcoinj-test.wallet dump
```

NOTE: These instructions are for macOS/Linux, for Windows use the `wallettool/build/install/wallet-tool/bin/wallet-tool.bat` batch file with the equivalent Windows command-line commands and options.
Note: These instructions are for macOS/Linux, for Windows use the `tools/build/install/wallet-tool/bin/wallet-tool.bat` batch file with the equivalent Windows command-line commands and options.

### Example applications

These are found in the `examples` module.

### Where next?

Now you are ready to https://bitcoinj.github.io/getting-started[follow the tutorial].

### Testing a SNAPSHOT build

Building apps with official releases of *bitcoinj* is covered in the https://bitcoinj.github.io/getting-started[tutorial].

If you want to develop or test your app with a https://jitpack.io[Jitpack]-powered build of the latest `master` or `release-0.15` branch of *bitcoinj* follow the dynamically-generated instructions for that branch by following the correct link.

* https://jitpack.io/#bitcoinj/bitcoinj/master-SNAPSHOT[master] branch
* https://jitpack.io/#bitcoinj/bitcoinj/release-0.15-SNAPSHOT[release-0.15] branch
76 changes: 0 additions & 76 deletions README.md

This file was deleted.

0 comments on commit c11bb58

Please sign in to comment.