name: integration # To debug locally on a branch, and when needing secrets # change this to include `push` so the build is ran on # the main repository. on: [pull_request] concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: sqlite: strategy: fail-fast: false matrix: test: - TestACLHostsInNetMapTable - TestACLAllowUser80Dst - TestACLDenyAllPort80 - TestACLAllowUserDst - TestACLAllowStarDst - TestACLNamedHostsCanReachBySubnet - TestACLNamedHostsCanReach - TestACLDevice1CanAccessDevice2 - TestPolicyUpdateWhileRunningWithCLIInDatabase - TestACLAutogroupMember - TestACLAutogroupTagged - TestACLAutogroupSelf - TestACLPolicyPropagationOverTime - TestAPIAuthenticationBypass - TestAPIAuthenticationBypassCurl - TestGRPCAuthenticationBypass - TestCLIWithConfigAuthenticationBypass - TestAuthKeyLogoutAndReloginSameUser - TestAuthKeyLogoutAndReloginNewUser - TestAuthKeyLogoutAndReloginSameUserExpiredKey - TestAuthKeyDeleteKey - TestAuthKeyLogoutAndReloginRoutesPreserved - TestOIDCAuthenticationPingAll - TestOIDCExpireNodesBasedOnTokenExpiry - TestOIDC024UserCreation - TestOIDCAuthenticationWithPKCE - TestOIDCReloginSameNodeNewUser - TestOIDCFollowUpUrl - TestOIDCMultipleOpenedLoginUrls - TestOIDCReloginSameNodeSameUser - TestOIDCExpiryAfterRestart - TestOIDCACLPolicyOnJoin - TestOIDCReloginSameUserRoutesPreserved - TestAuthWebFlowAuthenticationPingAll - TestAuthWebFlowLogoutAndReloginSameUser - TestAuthWebFlowLogoutAndReloginNewUser - TestUserCommand - TestPreAuthKeyCommand - TestPreAuthKeyCommandWithoutExpiry - TestPreAuthKeyCommandReusableEphemeral - TestPreAuthKeyCorrectUserLoggedInCommand - TestApiKeyCommand - TestNodeCommand - TestNodeExpireCommand - TestNodeRenameCommand - TestPolicyCommand - TestPolicyBrokenConfigCommand - TestDERPVerifyEndpoint - TestResolveMagicDNS - TestResolveMagicDNSExtraRecordsPath - TestDERPServerScenario - TestDERPServerWebsocketScenario - TestPingAllByIP - TestPingAllByIPPublicDERP - TestEphemeral - TestEphemeralInAlternateTimezone - TestEphemeral2006DeletedTooQuickly - TestPingAllByHostname - TestTaildrop - TestUpdateHostnameFromClient - TestExpireNode - TestSetNodeExpiryInFuture - TestNodeOnlineStatus - TestPingAllByIPManyUpDown - Test2118DeletingOnlineNodePanics - TestEnablingRoutes - TestHASubnetRouterFailover - TestSubnetRouteACL - TestEnablingExitRoutes - TestSubnetRouterMultiNetwork - TestSubnetRouterMultiNetworkExitNode - TestAutoApproveMultiNetwork - TestSubnetRouteACLFiltering - TestHeadscale - TestTailscaleNodesJoiningHeadcale - TestSSHOneUserToAll - TestSSHMultipleUsersAllToAll - TestSSHNoSSHConfigured - TestSSHIsBlockedInACL - TestSSHUserOnlyIsolation - TestSSHAutogroupSelf - TestTagsAuthKeyWithTagRequestDifferentTag - TestTagsAuthKeyWithTagNoAdvertiseFlag - TestTagsAuthKeyWithTagCannotAddViaCLI - TestTagsAuthKeyWithTagCannotChangeViaCLI - TestTagsAuthKeyWithTagAdminOverrideReauthPreserves - TestTagsAuthKeyWithTagCLICannotModifyAdminTags - TestTagsAuthKeyWithoutTagCannotRequestTags - TestTagsAuthKeyWithoutTagRegisterNoTags - TestTagsAuthKeyWithoutTagCannotAddViaCLI - TestTagsAuthKeyWithoutTagCLINoOpAfterAdminWithReset - TestTagsAuthKeyWithoutTagCLINoOpAfterAdminWithEmptyAdvertise - TestTagsAuthKeyWithoutTagCLICannotReduceAdminMultiTag - TestTagsUserLoginOwnedTagAtRegistration - TestTagsUserLoginNonExistentTagAtRegistration - TestTagsUserLoginUnownedTagAtRegistration - TestTagsUserLoginAddTagViaCLIReauth - TestTagsUserLoginRemoveTagViaCLIReauth - TestTagsUserLoginCLINoOpAfterAdminAssignment - TestTagsUserLoginCLICannotRemoveAdminTags - TestTagsAuthKeyWithTagRequestNonExistentTag - TestTagsAuthKeyWithTagRequestUnownedTag - TestTagsAuthKeyWithoutTagRequestNonExistentTag - TestTagsAuthKeyWithoutTagRequestUnownedTag - TestTagsAdminAPICannotSetNonExistentTag - TestTagsAdminAPICanSetUnownedTag - TestTagsAdminAPICannotRemoveAllTags - TestTagsAdminAPICannotSetInvalidFormat uses: ./.github/workflows/integration-test-template.yml with: test: ${{ matrix.test }} postgres_flag: "--postgres=0" database_name: "sqlite" postgres: strategy: fail-fast: false matrix: test: - TestACLAllowUserDst - TestPingAllByIP - TestEphemeral2006DeletedTooQuickly - TestPingAllByIPManyUpDown - TestSubnetRouterMultiNetwork uses: ./.github/workflows/integration-test-template.yml with: test: ${{ matrix.test }} postgres_flag: "--postgres=1" database_name: "postgres"