Build failed in Jenkins: pgadmin4-master-python34 #747

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Build failed in Jenkins: pgadmin4-master-python34 #747

pgAdmin 4 Jenkins
See <https://jenkins.pgadmin.org/job/pgadmin4-master-python34/747/display/redirect?page=changes>

Changes:

[Dave Page] Update some of the JS dependencies to ensure we can use Node 10. Fixes

[Dave Page] Chance an update to Node 8. Let's see how Jenkins likes this.

------------------------------------------
[...truncated 811.26 KB...]
                RestoreCreateJobTest (When restore object with option - Queries,
                                        When restore the object with Type of objects,
                                        When restore object with format directory,
                                        When restore object with default options,
                                        When restore object with option - Disbale,
                                        When restore object with option - Miscellaneous,
                                        When restore object with option - Do not save comments,
                                        When restore object with the sections options,
                                        When restore object with option - Do not save)
                MaintenanceCreateJobTest (When maintenance object with default options,
                                        When maintenance the object with the CLUSTER,
                                        When maintenance object with the ANALYZE,
                                        When maintenance object with VACUUM FULL,
                                        When maintenance the object with the REINDEX)
                ViewsGetTestCase (Get materialized view under schema node)
                EventTriggerAddTestCase (Fetch Event Trigger Node URL)
                MaintenanceJobTest (When maintenance the object with the default options)
                BackupCreateJobTest (When backup the server with option - all queries,
                                        When backup the object with option sections to all data,
                                        When backup the server with option - miscellaneous,
                                        When backup the server with option - Do not save privilege, tablespace, unlogged table data,
                                        When backup the object with option - format plain and dns_owner,
                                        When backup the object with option - miscellaneous,
                                        When backup object with format directory,
                                        When backup the object with option - all queries,
                                        When backup the server with option only_schema,
                                        When backup the object with option - all queries and format custom,
                                        When backup the object with option - Do not save comments,,
                                        When backup the object with format tar,
                                        When backup the object with option - load via partition root,
                                        When backup the server with option only_data,
                                        When backup the server,
                                        When backup the server with option - Do not save comments,,
                                        When backup globals,
                                        When backup the object with option only_schema,
                                        When backup the object with option - Do not save privilege, tablespace, unlogged table data,
                                        When backup object with default options,
                                        When backup the object with option only_data,
                                        When backup the server with encoding)
                TestSSLConnection (Test for SSL connection)
                EventTriggerGetTestCase (Fetch Event Trigger Node URL)
                EventTriggerDeleteTestCase (Fetch Event Trigger Node URL)

PostgreSQL 9.6:

        344 tests passed
        0 tests failed
        31 tests skipped:
                PgAgentDeleteTestCase (Delete pgAgent job)
                ProcedureAddTestCase (Fetch Procedure Node URL)
                RestoreJobTest (When restore the object with the default options)
                SynonymPutTestCase (Fetch synonym Node URL)
                ResourceGroupsAddTestCase (Add resource groups)
                PgAgentGetTestCase (Get pgAgent job)
                ResourceGroupsGetTestCase (Get resource groups)
                PgAgentAddTestCase (Add pgAgent job)
                ResourceGroupsPutTestCase (Put resource groups)
                procedureDeleteTestCase (Fetch Procedure Node URL)
                BackupJobTest (When backup the object with the default options)
                SynonymDeleteTestCase (Fetch synonym Node URL)
                ResourceGroupsDeleteTestCase (Delete resource groups)
                PackagePutTestCase (Fetch Package Node URL)
                TableUpdateTestCase (Create partitions of existing list partitioned table,
                                        Detach partition from existing list partitioned table,
                                        Attach partition to existing range partitioned table,
                                        Detach partition from existing range partitioned table,
                                        Create partitions of existing range partitioned table,
                                        Attach partition to existing list partitioned table)
                PgAgentStatsTestCase (Check the stats of pgAgent job)
                ProcedureGetTestCase (Fetch Procedure Node URL)
                PackageEDBFuncsGetTestCase (Fetch Package Functions/Procedures URL)
                RestoreCreateJobTest (When restore object with option - Queries,
                                        When restore the object with Type of objects,
                                        When restore object with format directory,
                                        When restore object with default options,
                                        When restore object with option - Disbale,
                                        When restore object with option - Miscellaneous,
                                        When restore object with option - Do not save comments,
                                        When restore object with the sections options,
                                        When restore object with option - Do not save)
                PackageAddTestCase (Fetch Package Node URL)
                PackageDeleteTestCase (Fetch Package Node URL)
                TableAddTestCase (Create Range partitioned table with 2 partitions,
                                        Create List partitioned table with 2 partitions,
                                        Create Hash partitioned table with 2 partitions)
                SynonymAddTestCase (Default Node URL)
                SynonymGetTestCase (Fetch synonym Node URL)
                MaintenanceJobTest (When maintenance the object with the default options)
                PgAgentPutTestCase (Put pgAgent job)
                MaintenanceCreateJobTest (When maintenance object with default options,
                                        When maintenance the object with the CLUSTER,
                                        When maintenance object with the ANALYZE,
                                        When maintenance object with VACUUM FULL,
                                        When maintenance the object with the REINDEX)
                ProcedurePutTestCase (Fetch Procedure Node URL)
                BackupCreateJobTest (When backup the server with option - all queries,
                                        When backup the object with option sections to all data,
                                        When backup the server with option - miscellaneous,
                                        When backup the server with option - Do not save privilege, tablespace, unlogged table data,
                                        When backup the object with option - format plain and dns_owner,
                                        When backup the object with option - miscellaneous,
                                        When backup object with format directory,
                                        When backup the object with option - all queries,
                                        When backup the server with option only_schema,
                                        When backup the object with option - all queries and format custom,
                                        When backup the object with option - Do not save comments,,
                                        When backup the object with format tar,
                                        When backup the object with option - load via partition root,
                                        When backup the server with option only_data,
                                        When backup the server,
                                        When backup the server with option - Do not save comments,,
                                        When backup globals,
                                        When backup the object with option only_schema,
                                        When backup the object with option - Do not save privilege, tablespace, unlogged table data,
                                        When backup object with default options,
                                        When backup the object with option only_data,
                                        When backup the server with encoding)
                TestSSLConnection (Test for SSL connection)
                PackageGetTestCase (Fetch Package Node URL)
NOTE: Configuring authentication for DESKTOP mode.
pgAdmin 4 - Application Initialisation
======================================

Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Please check output in file: <https://jenkins.pgadmin.org/job/pgadmin4-master-python34/ws/web/regression/regression.log>


PostgreSQL 9.5:

        344 tests passed
        0 tests failed
        31 tests skipped:
                PgAgentDeleteTestCase (Delete pgAgent job)
                ProcedureAddTestCase (Fetch Procedure Node URL)
                RestoreJobTest (When restore the object with the default options)
                SynonymPutTestCase (Fetch synonym Node URL)
                ResourceGroupsAddTestCase (Add resource groups)
                PgAgentGetTestCase (Get pgAgent job)
                ResourceGroupsGetTestCase (Get resource groups)
                PgAgentAddTestCase (Add pgAgent job)
                ResourceGroupsPutTestCase (Put resource groups)
                procedureDeleteTestCase (Fetch Procedure Node URL)
                BackupJobTest (When backup the object with the default options)
                SynonymDeleteTestCase (Fetch synonym Node URL)
                ResourceGroupsDeleteTestCase (Delete resource groups)
                PackagePutTestCase (Fetch Package Node URL)
                TableUpdateTestCase (Create partitions of existing list partitioned table,
                                        Detach partition from existing list partitioned table,
                                        Attach partition to existing range partitioned table,
                                        Detach partition from existing range partitioned table,
                                        Create partitions of existing range partitioned table,
                                        Attach partition to existing list partitioned table)
                PgAgentStatsTestCase (Check the stats of pgAgent job)
                ProcedureGetTestCase (Fetch Procedure Node URL)
                PackageEDBFuncsGetTestCase (Fetch Package Functions/Procedures URL)
                RestoreCreateJobTest (When restore object with option - Queries,
                                        When restore the object with Type of objects,
                                        When restore object with format directory,
                                        When restore object with default options,
                                        When restore object with option - Disbale,
                                        When restore object with option - Miscellaneous,
                                        When restore object with option - Do not save comments,
                                        When restore object with the sections options,
                                        When restore object with option - Do not save)
                PackageAddTestCase (Fetch Package Node URL)
                PackageDeleteTestCase (Fetch Package Node URL)
                TableAddTestCase (Create Range partitioned table with 2 partitions,
                                        Create List partitioned table with 2 partitions,
                                        Create Hash partitioned table with 2 partitions)
                SynonymAddTestCase (Default Node URL)
                SynonymGetTestCase (Fetch synonym Node URL)
                MaintenanceJobTest (When maintenance the object with the default options)
                PgAgentPutTestCase (Put pgAgent job)
                MaintenanceCreateJobTest (When maintenance object with default options,
                                        When maintenance the object with the CLUSTER,
                                        When maintenance object with the ANALYZE,
                                        When maintenance object with VACUUM FULL,
                                        When maintenance the object with the REINDEX)
                ProcedurePutTestCase (Fetch Procedure Node URL)
                BackupCreateJobTest (When backup the server with option - all queries,
                                        When backup the object with option sections to all data,
                                        When backup the server with option - miscellaneous,
                                        When backup the server with option - Do not save privilege, tablespace, unlogged table data,
                                        When backup the object with option - format plain and dns_owner,
                                        When backup the object with option - miscellaneous,
                                        When backup object with format directory,
                                        When backup the object with option - all queries,
                                        When backup the server with option only_schema,
                                        When backup the object with option - all queries and format custom,
                                        When backup the object with option - Do not save comments,,
                                        When backup the object with format tar,
                                        When backup the object with option - load via partition root,
                                        When backup the server with option only_data,
                                        When backup the server,
                                        When backup the server with option - Do not save comments,,
                                        When backup globals,
                                        When backup the object with option only_schema,
                                        When backup the object with option - Do not save privilege, tablespace, unlogged table data,
                                        When backup object with default options,
                                        When backup the object with option only_data,
                                        When backup the server with encoding)
                TestSSLConnection (Test for SSL connection)
                PackageGetTestCase (Fetch Package Node URL)

======================================================================

EXECUTING: Jasmine tests

yarn install v0.24.5
[1/4] Resolving packages...
[2/4] Fetching packages...
error hard-source-webpack-plugin@0.12.0: The engine "node" is incompatible with this module. Expected version ">=8.0.0".
error Found incompatible module
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
ERROR: Failed to install the required Javascript modules.
ERROR: Error detected when running the Jasmine tests.
Build step 'Execute shell' marked build as failure

Reply | Threaded
Open this post in threaded view
|

Build failed in Jenkins: pgadmin4-master-python34 #748

pgAdmin 4 Jenkins
See <https://jenkins.pgadmin.org/job/pgadmin4-master-python34/748/display/redirect?page=changes>

Changes:

[akshay.joshi] Added null checks and some more startup logs for runtime

------------------------------------------
[...truncated 811.36 KB...]

        344 tests passed
        0 tests failed
        31 tests skipped:
                PackageAddTestCase (Fetch Package Node URL)
                procedureDeleteTestCase (Fetch Procedure Node URL)
                SynonymDeleteTestCase (Fetch synonym Node URL)
                ResourceGroupsDeleteTestCase (Delete resource groups)
                PackageEDBFuncsGetTestCase (Fetch Package Functions/Procedures URL)
                SynonymGetTestCase (Fetch synonym Node URL)
                PgAgentDeleteTestCase (Delete pgAgent job)
                TableUpdateTestCase (Create partitions of existing range partitioned table,
                                        Attach partition to existing range partitioned table,
                                        Create partitions of existing list partitioned table,
                                        Detach partition from existing list partitioned table,
                                        Detach partition from existing range partitioned table,
                                        Attach partition to existing list partitioned table)
                BackupCreateJobTest (When backup the server with option - Do not save comments,,
                                        When backup the server with encoding,
                                        When backup the object with option - Do not save comments,,
                                        When backup the server with option - miscellaneous,
                                        When backup the object with option only_data,
                                        When backup the object with option - load via partition root,
                                        When backup the server with option - all queries,
                                        When backup the object with option - miscellaneous,
                                        When backup the server with option only_schema,
                                        When backup the object with option only_schema,
                                        When backup globals,
                                        When backup the object with option sections to all data,
                                        When backup object with format directory,
                                        When backup the object with option - format plain and dns_owner,
                                        When backup the object with format tar,
                                        When backup the object with option - Do not save privilege, tablespace, unlogged table data,
                                        When backup the object with option - all queries and format custom,
                                        When backup object with default options,
                                        When backup the object with option - all queries,
                                        When backup the server,
                                        When backup the server with option - Do not save privilege, tablespace, unlogged table data,
                                        When backup the server with option only_data)
                ProcedurePutTestCase (Fetch Procedure Node URL)
                ResourceGroupsAddTestCase (Add resource groups)
                PgAgentStatsTestCase (Check the stats of pgAgent job)
                PgAgentAddTestCase (Add pgAgent job)
                BackupJobTest (When backup the object with the default options)
                ProcedureGetTestCase (Fetch Procedure Node URL)
                SynonymPutTestCase (Fetch synonym Node URL)
                MaintenanceJobTest (When maintenance the object with the default options)
                PackagePutTestCase (Fetch Package Node URL)
                RestoreCreateJobTest (When restore object with option - Do not save comments,
                                        When restore object with option - Queries,
                                        When restore object with option - Miscellaneous,
                                        When restore object with option - Do not save,
                                        When restore the object with Type of objects,
                                        When restore object with the sections options,
                                        When restore object with default options,
                                        When restore object with format directory,
                                        When restore object with option - Disbale)
                PgAgentPutTestCase (Put pgAgent job)
                SynonymAddTestCase (Default Node URL)
                TestSSLConnection (Test for SSL connection)
                MaintenanceCreateJobTest (When maintenance object with default options,
                                        When maintenance the object with the CLUSTER,
                                        When maintenance object with the ANALYZE,
                                        When maintenance object with VACUUM FULL,
                                        When maintenance the object with the REINDEX)
                PgAgentGetTestCase (Get pgAgent job)
                PackageGetTestCase (Fetch Package Node URL)
                ProcedureAddTestCase (Fetch Procedure Node URL)
                ResourceGroupsGetTestCase (Get resource groups)
                RestoreJobTest (When restore the object with the default options)
                ResourceGroupsPutTestCase (Put resource groups)
                PackageDeleteTestCase (Fetch Package Node URL)
                TableAddTestCase (Create Range partitioned table with 2 partitions,
                                        Create Hash partitioned table with 2 partitions,
                                        Create List partitioned table with 2 partitions)
NOTE: Configuring authentication for DESKTOP mode.
pgAdmin 4 - Application Initialisation
======================================

Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Please check output in file: <https://jenkins.pgadmin.org/job/pgadmin4-master-python34/ws/web/regression/regression.log>


EDB Postgres AS 9.6:

        361 tests passed
        0 tests failed
        14 tests skipped:
                MaintenanceCreateJobTest (When maintenance object with default options,
                                        When maintenance the object with the CLUSTER,
                                        When maintenance object with the ANALYZE,
                                        When maintenance object with VACUUM FULL,
                                        When maintenance the object with the REINDEX)
                BackupCreateJobTest (When backup the server with option - Do not save comments,,
                                        When backup the server with encoding,
                                        When backup the object with option - Do not save comments,,
                                        When backup the server with option - miscellaneous,
                                        When backup the object with option only_data,
                                        When backup the object with option - load via partition root,
                                        When backup the server with option - all queries,
                                        When backup the object with option - miscellaneous,
                                        When backup the server with option only_schema,
                                        When backup the object with option only_schema,
                                        When backup globals,
                                        When backup the object with option sections to all data,
                                        When backup object with format directory,
                                        When backup the object with option - format plain and dns_owner,
                                        When backup the object with format tar,
                                        When backup the object with option - Do not save privilege, tablespace, unlogged table data,
                                        When backup the object with option - all queries and format custom,
                                        When backup object with default options,
                                        When backup the object with option - all queries,
                                        When backup the server,
                                        When backup the server with option - Do not save privilege, tablespace, unlogged table data,
                                        When backup the server with option only_data)
                RestoreCreateJobTest (When restore object with option - Do not save comments,
                                        When restore object with option - Queries,
                                        When restore object with option - Miscellaneous,
                                        When restore object with option - Do not save,
                                        When restore the object with Type of objects,
                                        When restore object with the sections options,
                                        When restore object with default options,
                                        When restore object with format directory,
                                        When restore object with option - Disbale)
                TableAddTestCase (Create Range partitioned table with 2 partitions,
                                        Create Hash partitioned table with 2 partitions,
                                        Create List partitioned table with 2 partitions)
                MaintenanceJobTest (When maintenance the object with the default options)
                TestSSLConnection (Test for SSL connection)
                PgAgentDeleteTestCase (Delete pgAgent job)
                PgAgentPutTestCase (Put pgAgent job)
                TableUpdateTestCase (Create partitions of existing range partitioned table,
                                        Attach partition to existing range partitioned table,
                                        Create partitions of existing list partitioned table,
                                        Detach partition from existing list partitioned table,
                                        Detach partition from existing range partitioned table,
                                        Attach partition to existing list partitioned table)
                PgAgentGetTestCase (Get pgAgent job)
                RestoreJobTest (When restore the object with the default options)
                PgAgentStatsTestCase (Check the stats of pgAgent job)
                PgAgentAddTestCase (Add pgAgent job)
                BackupJobTest (When backup the object with the default options)

EDB Postgres AS 9.5:

        361 tests passed
        0 tests failed
        14 tests skipped:
                MaintenanceCreateJobTest (When maintenance object with default options,
                                        When maintenance the object with the CLUSTER,
                                        When maintenance object with the ANALYZE,
                                        When maintenance object with VACUUM FULL,
                                        When maintenance the object with the REINDEX)
                BackupCreateJobTest (When backup the server with option - Do not save comments,,
                                        When backup the server with encoding,
                                        When backup the object with option - Do not save comments,,
                                        When backup the server with option - miscellaneous,
                                        When backup the object with option only_data,
                                        When backup the object with option - load via partition root,
                                        When backup the server with option - all queries,
                                        When backup the object with option - miscellaneous,
                                        When backup the server with option only_schema,
                                        When backup the object with option only_schema,
                                        When backup globals,
                                        When backup the object with option sections to all data,
                                        When backup object with format directory,
                                        When backup the object with option - format plain and dns_owner,
                                        When backup the object with format tar,
                                        When backup the object with option - Do not save privilege, tablespace, unlogged table data,
                                        When backup the object with option - all queries and format custom,
                                        When backup object with default options,
                                        When backup the object with option - all queries,
                                        When backup the server,
                                        When backup the server with option - Do not save privilege, tablespace, unlogged table data,
                                        When backup the server with option only_data)
                RestoreCreateJobTest (When restore object with option - Do not save comments,
                                        When restore object with option - Queries,
                                        When restore object with option - Miscellaneous,
                                        When restore object with option - Do not save,
                                        When restore the object with Type of objects,
                                        When restore object with the sections options,
                                        When restore object with default options,
                                        When restore object with format directory,
                                        When restore object with option - Disbale)
                TableAddTestCase (Create Range partitioned table with 2 partitions,
                                        Create Hash partitioned table with 2 partitions,
                                        Create List partitioned table with 2 partitions)
                MaintenanceJobTest (When maintenance the object with the default options)
                TestSSLConnection (Test for SSL connection)
                PgAgentDeleteTestCase (Delete pgAgent job)
                PgAgentPutTestCase (Put pgAgent job)
                TableUpdateTestCase (Create partitions of existing range partitioned table,
                                        Attach partition to existing range partitioned table,
                                        Create partitions of existing list partitioned table,
                                        Detach partition from existing list partitioned table,
                                        Detach partition from existing range partitioned table,
                                        Attach partition to existing list partitioned table)
                PgAgentGetTestCase (Get pgAgent job)
                RestoreJobTest (When restore the object with the default options)
                PgAgentStatsTestCase (Check the stats of pgAgent job)
                PgAgentAddTestCase (Add pgAgent job)
                BackupJobTest (When backup the object with the default options)

======================================================================

EXECUTING: Jasmine tests

yarn install v0.24.5
[1/4] Resolving packages...
[2/4] Fetching packages...
error hard-source-webpack-plugin@0.12.0: The engine "node" is incompatible with this module. Expected version ">=8.0.0".
error Found incompatible module
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
ERROR: Failed to install the required Javascript modules.
ERROR: Error detected when running the Jasmine tests.
Build step 'Execute shell' marked build as failure
Not sending mail to unregistered user [hidden email]

Reply | Threaded
Open this post in threaded view
|

Jenkins build is back to normal : pgadmin4-master-python34 #749

pgAdmin 4 Jenkins