Giter Site home page Giter Site logo

ministryofjustice / opg-data-casrec-migration-mappings Goto Github PK

View Code? Open in Web Editor NEW
0.0 21.0 2.0 5.57 MB

Mappings automation and versioning for CasRec migration: Managed by opg-org-infra & Terraform

Python 91.26% Shell 0.36% HCL 7.97% Dockerfile 0.40%

opg-data-casrec-migration-mappings's Introduction

opg-data-casrec-migration-mappings

Mappings automation and versioning for CasRec migration: Managed by opg-org-infra & Terraform

Making changes to the mapping spreadsheet

  1. Branch off the opg-data-casrec-migration-mappings main branch
  2. Make your changes in the spreadsheet in opg-data-casrec-migration-mappings/mapping_spreadsheet/Casrec_Mapping_Document.xlsx and save in the same location
  3. In the terminal, cd into the opg-data-casrec-migration-mappings folder
  4. Make sure docker is running!
  5. The run this: docker-compose run --rm generate python3 app/app.py to generate the json defs in the folder opg-data-casrec-migration-mappings/mapping_definitions
  6. Commit all the json and spreadsheet changes to your branch and PR

Self versioning

When we commit the mapping spreadsheet and push to a branch with a PR, the following steps are performed via circleci:

  • Pull in latest zip from merged folder in s3
  • Extract to mapping_definitions_previous
  • Generate new mappings json files from current spreadsheet
  • Compare the previous merged json files to the current ones and create a diff file
  • Zip up the new files
  • Upload to s3 bucket with current commit ref
  • Print the bucket version to the ci job

These same steps are performed on merge to main.

We can then pull in the latest version from merged or any version we like by specifying the version from our main casrec migrations repo. There is a helper script in opg-data-casrec-migration to assist with this.

opg-data-casrec-migration-mappings's People

Contributors

charlesmmarshall avatar devkokov avatar farzan1990 avatar hawx avatar jackgoodby avatar jamesrwarren avatar jmackown avatar opg-ci avatar townxelliot avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.