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

Travis to GitHub actions #1572

Merged
merged 11 commits into from
Apr 26, 2021
Merged

Conversation

eralumin
Copy link
Contributor

@eralumin eralumin commented Mar 21, 2021

Migrate all CI/CD from Travis to Github Action.

All tests failed on CI because of a bug on docker-gen: nginx-proxy/docker-gen#335

@buchdag buchdag self-assigned this Apr 1, 2021
@buchdag buchdag added the type/ci PR that change the CI configuration files and scripts label Apr 1, 2021
@eralumin eralumin changed the title Travis to GitHub actions [WIP] Travis to GitHub actions Apr 3, 2021
@buchdag
Copy link
Member

buchdag commented Apr 26, 2021

Looks like we're okay :

============================= test session starts ==============================
platform linux -- Python 3.9.4, pytest-6.2.2, py-1.10.0, pluggy-0.13.1 -- /opt/hostedtoolcache/Python/3.9.4/x64/bin/python
rootdir: /home/runner/work/nginx-proxy/nginx-proxy/test, configfile: pytest.ini
collecting ... collected 129 items

test_DOCKER_HOST_unix_socket.py::test_unknown_virtual_host PASSED        [  0%]
test_DOCKER_HOST_unix_socket.py::test_forwards_to_web1 PASSED            [  1%]
test_DOCKER_HOST_unix_socket.py::test_forwards_to_web2 PASSED            [  2%]
test_composev2.py::test_unknown_virtual_host PASSED                      [  3%]
test_composev2.py::test_forwards_to_whoami PASSED                        [  3%]
test_default-host.py::test_fallback_on_default PASSED                    [  4%]
test_events.py::test_nginx_proxy_behavior_when_alone PASSED              [  5%]
test_events.py::test_new_container_is_detected PASSED                    [  6%]
test_ipv6.py::test_unknown_virtual_host_ipv4 PASSED                      [  6%]
test_ipv6.py::test_forwards_to_web1_ipv4 PASSED                          [  7%]
test_ipv6.py::test_forwards_to_web2_ipv4 PASSED                          [  8%]
test_ipv6.py::test_unknown_virtual_host_ipv6 SKIPPED (Container test...) [  9%]
test_ipv6.py::test_forwards_to_web1_ipv6 SKIPPED (Container test_sut...) [ 10%]
test_ipv6.py::test_forwards_to_web2_ipv6 SKIPPED (Container test_sut...) [ 10%]
test_multiple-hosts.py::test_unknown_virtual_host_is_503 PASSED          [ 11%]
test_multiple-hosts.py::test_webA_is_forwarded PASSED                    [ 12%]
test_multiple-hosts.py::test_webB_is_forwarded PASSED                    [ 13%]
test_multiple-networks.py::test_unknown_virtual_host PASSED              [ 13%]
test_multiple-networks.py::test_forwards_to_web1 PASSED                  [ 14%]
test_multiple-networks.py::test_forwards_to_web2 PASSED                  [ 15%]
test_nominal.py::test_unknown_virtual_host PASSED                        [ 16%]
test_nominal.py::test_forwards_to_web1 PASSED                            [ 17%]
test_nominal.py::test_forwards_to_web2 PASSED                            [ 17%]
test_nominal.py::test_ipv6_is_disabled_by_default SKIPPED (Container...) [ 18%]
test_wildcard_host.py::test_wildcard_prefix[f00.nginx-proxy.test-81] PASSED [ 19%]
test_wildcard_host.py::test_wildcard_prefix[bar.nginx-proxy.test-81] PASSED [ 20%]
test_wildcard_host.py::test_wildcard_prefix[test.nginx-proxy.f00-82] PASSED [ 20%]
test_wildcard_host.py::test_wildcard_prefix[test.nginx-proxy.bar-82] PASSED [ 21%]
test_wildcard_host.py::test_wildcard_prefix[web3.123.nginx-proxy.regexp-83] PASSED [ 22%]
test_wildcard_host.py::test_wildcard_prefix[web3.ABC.nginx-proxy.regexp-83] PASSED [ 23%]
test_wildcard_host.py::test_wildcard_prefix[web3.123.ABC.nginx-proxy.regexp-83] PASSED [ 24%]
test_wildcard_host.py::test_wildcard_prefix[web3.123-ABC.nginx-proxy.regexp-83] PASSED [ 24%]
test_wildcard_host.py::test_wildcard_prefix[web3.whatever.nginx-proxy.regexp-to-infinity-and-beyond-83] PASSED [ 25%]
test_wildcard_host.py::test_wildcard_prefix[web4.123.nginx-proxy.regexp-84] PASSED [ 26%]
test_wildcard_host.py::test_wildcard_prefix[web4.ABC.nginx-proxy.regexp-84] PASSED [ 27%]
test_wildcard_host.py::test_wildcard_prefix[web4.123.ABC.nginx-proxy.regexp-84] PASSED [ 27%]
test_wildcard_host.py::test_wildcard_prefix[web4.123-ABC.nginx-proxy.regexp-84] PASSED [ 28%]
test_wildcard_host.py::test_wildcard_prefix[web4.whatever.nginx-proxy.regexp-84] PASSED [ 29%]
test_wildcard_host.py::test_non_matching_host_is_503[unexpected.nginx-proxy.tld] PASSED [ 30%]
test_wildcard_host.py::test_non_matching_host_is_503[web4.whatever.nginx-proxy.regexp-to-infinity-and-beyond] PASSED [ 31%]
stress_tests/test_deleted_cert/test_restart_while_missing_cert.py::test_unknown_virtual_host_is_503 XPASS [ 31%]
stress_tests/test_deleted_cert/test_restart_while_missing_cert.py::test_http_web_is_301 XPASS [ 32%]
stress_tests/test_deleted_cert/test_restart_while_missing_cert.py::test_https_web_is_200 XPASS [ 33%]
stress_tests/test_deleted_cert/test_restart_while_missing_cert.py::test_delete_cert_and_restart_reverseproxy XFAIL [ 34%]
stress_tests/test_deleted_cert/test_restart_while_missing_cert.py::test_unknown_virtual_host_is_still_503 XFAIL [ 34%]
stress_tests/test_deleted_cert/test_restart_while_missing_cert.py::test_http_web_is_now_200 XFAIL [ 35%]
stress_tests/test_deleted_cert/test_restart_while_missing_cert.py::test_https_web_is_now_broken_since_there_is_no_cert XFAIL [ 36%]
stress_tests/test_unreachable_network/test_unreachable_net.py::test_default_nginx_welcome_page_should_not_be_served XPASS [ 37%]
stress_tests/test_unreachable_network/test_unreachable_net.py::test_unknown_virtual_host_is_503 XPASS [ 37%]
stress_tests/test_unreachable_network/test_unreachable_net.py::test_http_web_a_is_forwarded XPASS [ 38%]
stress_tests/test_unreachable_network/test_unreachable_net.py::test_http_web_b_gets_an_error XPASS [ 39%]
stress_tests/test_unreachable_network/test_unreachable_net.py::test_reverseproxy_survive_restart XPASS [ 40%]
test_custom/test_defaults-location.py::test_custom_default_conf_does_not_apply_to_unknown_vhost PASSED [ 41%]
test_custom/test_defaults-location.py::test_custom_default_conf_applies_to_web1 PASSED [ 41%]
test_custom/test_defaults-location.py::test_custom_default_conf_applies_to_web2 PASSED [ 42%]
test_custom/test_defaults-location.py::test_custom_default_conf_is_overriden_for_web3 PASSED [ 43%]
test_custom/test_defaults.py::test_custom_conf_does_not_apply_to_unknown_vhost PASSED [ 44%]
test_custom/test_defaults.py::test_custom_conf_applies_to_web1 PASSED    [ 44%]
test_custom/test_defaults.py::test_custom_conf_applies_to_web2 PASSED    [ 45%]
test_custom/test_location-per-vhost.py::test_custom_conf_does_not_apply_to_unknown_vhost PASSED [ 46%]
test_custom/test_location-per-vhost.py::test_custom_conf_applies_to_web1 PASSED [ 47%]
test_custom/test_location-per-vhost.py::test_custom_conf_does_not_apply_to_web2 PASSED [ 48%]
test_custom/test_location-per-vhost.py::test_custom_block_is_present_in_nginx_generated_conf PASSED [ 48%]
test_custom/test_per-vhost.py::test_custom_conf_does_not_apply_to_unknown_vhost PASSED [ 49%]
test_custom/test_per-vhost.py::test_custom_conf_applies_to_web1 PASSED   [ 50%]
test_custom/test_per-vhost.py::test_custom_conf_does_not_apply_to_web2 PASSED [ 51%]
test_custom/test_proxy-wide.py::test_custom_conf_does_not_apply_to_unknown_vhost PASSED [ 51%]
test_custom/test_proxy-wide.py::test_custom_conf_applies_to_web1 PASSED  [ 52%]
test_custom/test_proxy-wide.py::test_custom_conf_applies_to_web2 PASSED  [ 53%]
test_dockergen/test_dockergen_v2.py::test_unknown_virtual_host_is_503 PASSED [ 54%]
test_dockergen/test_dockergen_v2.py::test_forwards_to_whoami PASSED      [ 55%]
test_dockergen/test_dockergen_v3.py::test_unknown_virtual_host_is_503 PASSED [ 55%]
test_dockergen/test_dockergen_v3.py::test_forwards_to_whoami PASSED      [ 56%]
test_headers/test_http.py::test_arbitrary_headers_are_passed_on PASSED   [ 57%]
test_headers/test_http.py::test_X_Forwarded_For_is_generated PASSED      [ 58%]
test_headers/test_http.py::test_X_Forwarded_For_is_passed_on PASSED      [ 58%]
test_headers/test_http.py::test_X_Forwarded_Proto_is_generated PASSED    [ 59%]
test_headers/test_http.py::test_X_Forwarded_Proto_is_passed_on PASSED    [ 60%]
test_headers/test_http.py::test_X_Forwarded_Port_is_generated PASSED     [ 61%]
test_headers/test_http.py::test_X_Forwarded_Port_is_passed_on PASSED     [ 62%]
test_headers/test_http.py::test_X_Forwarded_Ssl_is_generated PASSED      [ 62%]
test_headers/test_http.py::test_X_Forwarded_Ssl_is_overwritten PASSED    [ 63%]
test_headers/test_http.py::test_X_Real_IP_is_generated PASSED            [ 64%]
test_headers/test_http.py::test_Host_is_passed_on PASSED                 [ 65%]
test_headers/test_http.py::test_httpoxy_safe PASSED                      [ 65%]
test_headers/test_https.py::test_arbitrary_headers_are_passed_on PASSED  [ 66%]
test_headers/test_https.py::test_X_Forwarded_For_is_generated PASSED     [ 67%]
test_headers/test_https.py::test_X_Forwarded_For_is_passed_on PASSED     [ 68%]
test_headers/test_https.py::test_X_Forwarded_Proto_is_generated PASSED   [ 68%]
test_headers/test_https.py::test_X_Forwarded_Proto_is_passed_on PASSED   [ 69%]
test_headers/test_https.py::test_X_Forwarded_Port_is_generated PASSED    [ 70%]
test_headers/test_https.py::test_X_Forwarded_Port_is_passed_on PASSED    [ 71%]
test_headers/test_https.py::test_X_Forwarded_Ssl_is_generated PASSED     [ 72%]
test_headers/test_https.py::test_X_Forwarded_Ssl_is_overwritten PASSED   [ 72%]
test_headers/test_https.py::test_X_Real_IP_is_generated PASSED           [ 73%]
test_headers/test_https.py::test_Host_is_passed_on PASSED                [ 74%]
test_headers/test_https.py::test_httpoxy_safe PASSED                     [ 75%]
test_multiple-ports/test_VIRTUAL_PORT.py::test_answer_is_served_from_chosen_port PASSED [ 75%]
test_multiple-ports/test_default-80.py::test_answer_is_served_from_port_80_by_default PASSED [ 76%]
test_multiple-ports/test_single-port-not-80.py::test_answer_is_served_from_exposed_port_even_if_not_80 PASSED [ 77%]
test_ssl/test_dhparam.py::test_dhparam_is_not_generated_if_present PASSED [ 78%]
test_ssl/test_dhparam.py::test_web5_https_works PASSED                   [ 79%]
test_ssl/test_dhparam.py::test_web5_dhparam_is_used PASSED               [ 79%]
test_ssl/test_dhparam_generation.py::test_dhparam_is_generated_if_missing PASSED [ 80%]
test_ssl/test_hsts.py::test_web1_HSTS_default PASSED                     [ 81%]
test_ssl/test_hsts.py::test_web1_HSTS_error PASSED                       [ 82%]
test_ssl/test_hsts.py::test_web2_HSTS_off PASSED                         [ 82%]
test_ssl/test_hsts.py::test_web3_HSTS_custom PASSED                      [ 83%]
test_ssl/test_hsts.py::test_web4_HSTS_off_noredirect PASSED              [ 84%]
test_ssl/test_nohttp.py::test_web2_http_is_not_forwarded PASSED          [ 85%]
test_ssl/test_nohttp.py::test_web2_https_is_forwarded PASSED             [ 86%]
test_ssl/test_nohttp.py::test_web2_HSTS_policy_is_active PASSED          [ 86%]
test_ssl/test_nohttps.py::test_http_is_forwarded PASSED                  [ 87%]
test_ssl/test_nohttps.py::test_https_is_disabled PASSED                  [ 88%]
test_ssl/test_noredirect.py::test_web3_http_is_forwarded PASSED          [ 89%]
test_ssl/test_noredirect.py::test_web3_https_is_forwarded PASSED         [ 89%]
test_ssl/test_noredirect.py::test_web2_HSTS_policy_is_inactive PASSED    [ 90%]
test_ssl/test_wildcard.py::test_web1_http_redirects_to_https[foo] PASSED [ 91%]
test_ssl/test_wildcard.py::test_web1_http_redirects_to_https[bar] PASSED [ 92%]
test_ssl/test_wildcard.py::test_web1_https_is_forwarded[foo] PASSED      [ 93%]
test_ssl/test_wildcard.py::test_web1_https_is_forwarded[bar] PASSED      [ 93%]
test_ssl/test_wildcard.py::test_web1_HSTS_policy_is_active[foo] PASSED   [ 94%]
test_ssl/test_wildcard.py::test_web1_HSTS_policy_is_active[bar] PASSED   [ 95%]
test_ssl/wildcard_cert_and_nohttps/test_wildcard_cert_nohttps.py::test_http_redirects_to_https[1-True] PASSED [ 96%]
test_ssl/wildcard_cert_and_nohttps/test_wildcard_cert_nohttps.py::test_http_redirects_to_https[2-True] PASSED [ 96%]
test_ssl/wildcard_cert_and_nohttps/test_wildcard_cert_nohttps.py::test_http_redirects_to_https[3-False] PASSED [ 97%]
test_ssl/wildcard_cert_and_nohttps/test_wildcard_cert_nohttps.py::test_https_get_served[1] PASSED [ 98%]
test_ssl/wildcard_cert_and_nohttps/test_wildcard_cert_nohttps.py::test_https_get_served[2] PASSED [ 99%]
test_ssl/wildcard_cert_and_nohttps/test_wildcard_cert_nohttps.py::test_web3_https_is_500_and_SSL_validation_fails PASSED [100%]

=============================== warnings summary ===============================
test_ssl/wildcard_cert_and_nohttps/test_wildcard_cert_nohttps.py::test_web3_https_is_500_and_SSL_validation_fails
  /opt/hostedtoolcache/Python/3.9.4/x64/lib/python3.9/site-packages/urllib3/connectionpool.py:1013: InsecureRequestWarning: Unverified HTTPS request is being made to host '3.web.nginx-proxy.tld'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
    warnings.warn(

-- Docs: https://docs.pytest.org/en/stable/warnings.html
=========================== short test summary info ============================
SKIPPED [4] conftest.py:135: Container test_sut_1 has no IPv6 address
= 113 passed, 4 skipped, 4 xfailed, 8 xpassed, 1 warning in 206.79s (0:03:26) ==

SKIPPED [4] conftest.py:135: Container test_sut_1 has no IPv6 address

no idea if this was the case while the CI still worked on Travis or not.

@buchdag
Copy link
Member

buchdag commented Apr 26, 2021

@kmarilleau just to be sure, this PR completely supersede and close #1571, right ?

Also, do you mind if I squash together b4d1d5d + c595d40 and cc08dd1 + a673c2d ?

@buchdag
Copy link
Member

buchdag commented Apr 26, 2021

no idea if this was the case while the CI still worked on Travis or not.

Answer to self : yes it was https://travis-ci.org/github/nginx-proxy/nginx-proxy/jobs/663487976#L984

@eralumin
Copy link
Contributor Author

eralumin commented Apr 26, 2021

@kmarilleau just to be sure, this PR completely supersede and close #1571, right ?

Yes, that's it.

Also, do you mind if I squash together b4d1d5d + c595d40 and cc08dd1 + a673c2d ?

No, I don't, you can squash them, I had not yet rewritten the git history.

@eralumin eralumin changed the title [WIP] Travis to GitHub actions Travis to GitHub actions Apr 26, 2021
@buchdag
Copy link
Member

buchdag commented Apr 26, 2021

Great 👍 could you also check if merging this PR closes the following: #1292 and #1468 ?

edit: I think it does

@buchdag buchdag linked an issue Apr 26, 2021 that may be closed by this pull request
@eralumin
Copy link
Contributor Author

eralumin commented Apr 26, 2021

Great could you also check if merging this PR closes the following: #1292 and #1468 ?

edit: I think it does

0c60d57 fixes #1468
950a28f and 37e85e6 fixes #1292

@buchdag buchdag merged commit aa93861 into nginx-proxy:main Apr 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/ci PR that change the CI configuration files and scripts
Projects
None yet
Development

Successfully merging this pull request may close these issues.

test_dhparam_is_generated_if_missing test fails
2 participants