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

Migrate CI to Github Actions #550

Merged
merged 4 commits into from
Jul 29, 2020
Merged

Migrate CI to Github Actions #550

merged 4 commits into from
Jul 29, 2020

Conversation

rymndhng
Copy link
Collaborator

@rymndhng rymndhng commented Jul 24, 2020

The motivation for moving to Github Actions is to be able to run the integration suite.

Improvements

  • Integration tests pass
    • ivp6 tests pass
    • keystore tests pass
  • Update test matrix to support LTS & Latest Versions of Java -> [8, 11, 14]
  • Use a test matrix for better visibility of regression failures

Additionally, to get the :integration test suite passing, the following changes were required:

  • Re-generating the keystore and client-keystore to work on Java >= 11

Additional Notes

Commands to recreate the keystore & client-keystore to test Mutual TLS:

# Step 1: Create server keystore with private key
keytool -genkeypair -keyalg RSA -keysize 2048 -alias server -dname "CN=Hakan,OU=Amsterdam,O=Thunderberry,C=NL" -ext "SAN:c=DNS:localhost,IP:127.0.0.1" -validity 3650 -keystore keystore -storepass keykey -keypass keykey

# Step 2: Export server certificate from keystore
keytool -exportcert -keystore keystore -storepass keykey -alias server -rfc -file server.cer

# Step 3: Create client keystore and import server certificate
keytool -importcert -keystore client-keystore -file server.cer -alias server-storepass keykey

# Step 4: Create client private key and store in client-keystore
keytool -genkeypair -keystore client-keystore -keyalg RSA -keysize 2048 -alias client -dname "CN=Suleyman,OU=Altindag,O=Altindag,C=NL" -validity 3650 -storepass keykey -keypass keykey

# Step 5: Export client certificate from client-keystore
keytool -exportcert -keystore client-keystore -storepass keykey -alias client-rfc -file client.cer

# Step 6: Import client certificate into server keystore
keytool -keystore keystore -importcert -file client.cer -alias client -storepass keykey

@rymndhng rymndhng changed the base branch from 3.x to x-fix-decompression-eof July 24, 2020 21:30
@rymndhng rymndhng changed the base branch from x-fix-decompression-eof to 3.x July 24, 2020 21:32
@rymndhng rymndhng changed the title [DRAFT] Migrate to Github Actions Migrate CI to Github Actions Jul 24, 2020
@rymndhng rymndhng marked this pull request as ready for review July 24, 2020 21:54
@rymndhng rymndhng requested a review from dakrone July 24, 2020 21:54
Copy link
Owner

@dakrone dakrone left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM (I assume #549 will be merged first?)

Raymond Huang added 4 commits July 28, 2020 22:21
The certificates in keystore & client-keystore no longer work under Java 11.

I regenerated the keystores using these commands and the tests now pass, which
are roughly:

Step 1: Create server keystore with private key
keytool -genkeypair -keyalg RSA -keysize 2048 -alias server -dname "CN=Hakan,OU=Amsterdam,O=Thunderberry,C=NL" -ext "SAN:c=DNS:localhost,IP:127.0.0.1" -validity 3650 -keystore keystore -storepass keykey -keypass keykey

Step 2: Export server certificate
keytool -exportcert -keystore keystore -storepass keykey -alias server -rfc -file server.cer

Step 3: Create client keystore and import server certificate
keytool -importcert -keystore client-keystore -file server.cer -alias server-storepass keykey

Step 4: Create client private key and store in client-keystore
keytool -genkeypair -keystore client-keystore -keyalg RSA -keysize 2048 -alias client -dname "CN=Suleyman,OU=Altindag,O=Altindag,C=NL" -validity 3650 -storepass keykey -keypass keykey

Step 5: Export client certificate
keytool -exportcert -keystore client-keystore -storepass keykey -alias client-rfc -file client.cer

Step 6: Import client certificate into server keystore
keytool -keystore keystore -importcert -file client.cer -alias client -storepass keykey

commit b8e6428
Author: Raymond Huang <rymndhng@gmail.com>
Date:   Tue Aug 6 22:23:57 2019 -0700

    Run :all tests with travisci
@rymndhng
Copy link
Collaborator Author

LGTM (I assume #549 will be merged first?)

Yep! I just rebased this branch off of 3.x and the tests still pass 🎉 .

@rymndhng rymndhng merged commit 072c4f9 into 3.x Jul 29, 2020
@rymndhng rymndhng deleted the migrate-to-github-actions branch July 29, 2020 05:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants