{"id":23067046,"url":"https://github.com/dvsa/dvsa-mobile-pipeline","last_synced_at":"2025-08-12T01:20:14.535Z","repository":{"id":86167351,"uuid":"160826164","full_name":"dvsa/dvsa-mobile-pipeline","owner":"dvsa","description":"This the the repository for the DVSA mobile pipeline","archived":false,"fork":false,"pushed_at":"2019-01-02T22:09:21.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-03T09:13:59.101Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Groovy","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dvsa.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-07T13:18:08.000Z","updated_at":"2024-01-03T09:18:34.000Z","dependencies_parsed_at":"2023-03-13T08:44:48.337Z","dependency_job_id":null,"html_url":"https://github.com/dvsa/dvsa-mobile-pipeline","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dvsa/dvsa-mobile-pipeline","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvsa%2Fdvsa-mobile-pipeline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvsa%2Fdvsa-mobile-pipeline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvsa%2Fdvsa-mobile-pipeline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvsa%2Fdvsa-mobile-pipeline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dvsa","download_url":"https://codeload.github.com/dvsa/dvsa-mobile-pipeline/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvsa%2Fdvsa-mobile-pipeline/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269982906,"owners_count":24507478,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-11T02:00:10.019Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-16T05:15:58.382Z","updated_at":"2025-08-12T01:20:14.487Z","avatar_url":"https://github.com/dvsa.png","language":"Groovy","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DVSA Mobile Pipeline\n\nThe following repository contains the core pipeline code for automating the build of IPA files. For the common library\nrepository please look [here](https://github.com/dvsa/dvsa-mobile-pipeline-libs)\n\n## Getting Started\n\nTo use this repository clone it to your local computer and add it to a Jenkins pipeline job.\n\n### Prerequisites\n\nThe pipeline calls a shared library which does a lot of the processing. Without this shared library the project will not \nbe able to run correct. \n\nThe pipeline also expects the following dependencies to be installed on the Jenkins box:\n\n* Node\n* NPM\n* ScanRepo\n* Cordova \n\n### Stages\n\nThe pipeline has the following stages:\n\n* Git Checkout\n* Security Check --\u003e This section uses the Home Office ScanRepo plugin. For more information please look [here](https://github.com/UKHomeOffice/repo-security-scanner)\n* SonarQube\n* NPM Install\n* Unit Tests\n* NPM Build\n* Configure Plugin\n* Cordova Platform\n* Build\n* Upload to S3\n* Generate bucket URL\n\nThe resulting stages will end with an S3 URL which will allow you to download the IPA file stored in S3. This URL will expire\nafter a period of time. If it expires you will not be able to access the bucket contents and will need to get the IPA file manually.\n\nThe build section uses Fastlane files to configure the build. For more information please look at [FASTLANE.md](FASTLANE.md)\n\n## Environment Variables\n\nTo run the pipeline you'll need to configure the following environment variables:\n\nVariable | Type | Description | Required (Y / N)\n--- | --- | ---  |  ---\nGIT_BRANCH | String | This is the branch name of the main git repository | Y\nTARGET_LOCATION | String | This is the name of the git repository | Y\nGIT_REPO_URL | String | The URL of the main git repository | Y\nPLUGIN | Choice Parameter | A 'Yes' 'No' choice. This tells the pipeline to run the optional plugin functionality | N\nPLUGIN_REPO | String | The repository URL of the plugin repo | N\nPLUGIN_TARGET | String | The name of the plugin git repository | N\nBUCKET | String | The S3 bucket that stores the IPA file | Y\nIPA_FILE_NAME | String | The name of the IPA file | Y\nINTEGRATION_TEST_CHECK | Choice Parameter | A 'Yes' 'No' choice. This tells the pipeline if you'd like to run the integration tests or not | Y\nTEST_TYPE | Choice Parameter | A list of parameters of a String parameter of the type of tests you'd like to run. Currently this pipeline only supports Appium but this will grow | N\nTEST_SUITE | String | The name of the test suite you'd like to run | N\n\n## Optional Parameters\n### Plugin\nIf the **'PLUGIN'** environment variable is set to **Yes** pipeline will look a provided repository and run \n```\ncordova plugin add ${plugin_name}\n```\nTo add that external plugin to the cordova build.\nIf you don't want to use this functionality set **'PLUGIN'** to **No**\n## Security\nThe pipeline will be accessing S3. It is recommended that the Jenkins box is configured with an IAM role\ngiving the pipeline access to those resources but restricting what features it can access from them.\n\n## Common Issues \u0026 Fixes\n### Archiving\nFastlane has issues code signing sometimes. If you're lane keeps failing on the archive try running this command\n\n```\nsecurity unlock-keychain /Users/${user}/Library/Keychains/login.keychain\n```\n\nThis will unlock your systems keychain giving fastlane access to it.\n\n### Old XCode Project\nA common cordova issue is that it will generate an out of date XCode project. If you get this error install the following\nplugin to your fastlane build --\u003e https://github.com/ionic-zone/fastlane-plugin-upgrade_super_old_xcode_project\n\nYou can then add this code your lane:\n\n```\nupgrade_super_old_xcode_project(\n    path: xcodeprojpath,\n    team_id: team_id\n)\n```\n\nThe upgrade_super_old_xcode_project plugin will update your XCode project to a version fastlane can understand\n## Contributing\n\nTo contribute please create a pull request \n\n## Authors\n\n* **Alex Le Peltier** - *Initial work*\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE) file for details\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvsa%2Fdvsa-mobile-pipeline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdvsa%2Fdvsa-mobile-pipeline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvsa%2Fdvsa-mobile-pipeline/lists"}