Skip to content

Commit

Permalink
degaussverse1.0 (#20)
Browse files Browse the repository at this point in the history
* code updates

* readme updates

* typo

* fix 1990 ids
  • Loading branch information
erikarasnick authored Mar 16, 2022
1 parent d44b1b8 commit 39e57fd
Show file tree
Hide file tree
Showing 25 changed files with 843 additions and 946 deletions.
8 changes: 1 addition & 7 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,4 @@

# except what we need
!/renv.lock
!/census_block_group.R
!/block_groups_2020_5072.rds
!/block_groups_2010_5072.rds
!/block_groups_2000_5072.rds
!/block_groups_1990_5072.rds
!/tracts_1980_5072.rds
!/tracts_1970_5072.rds
!/entrypoint.R
45 changes: 45 additions & 0 deletions .github/workflows/build-deploy-pr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: build-deploy-pr
on:
pull_request:
jobs:
deploy-images:
runs-on: ubuntu-latest
env:
registry: ghcr.io
username: degauss-org
repository: census_block_group
strategy:
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v2
- name: create latest tag variable
run: |
container="${{ env.registry }}/${{ env.username}}/${{ env.repository }}:latest"
echo "container=${container}" >> $GITHUB_ENV
- name: create pull request tag variable based on name of associated branch
if: github.event_name == 'pull_request'
run: |
versioned="${{ env.registry }}/${{ env.username}}/${{ env.repository }}:${GITHUB_HEAD_REF}"
echo "versioned=${versioned}" >> $GITHUB_ENV
- name: build container
run: |
docker build -t ${{ env.container }} .
- name: test run container
run: |
docker run --rm -v "${PWD}/test":/tmp ${{ env.container }} my_address_file_geocoded.csv 2010
docker run --rm -v "${PWD}/test":/tmp ${{ env.container }} my_address_file_geocoded.csv 2000
docker run --rm -v "${PWD}/test":/tmp ${{ env.container }} my_address_file_geocoded.csv 1990
docker run --rm -v "${PWD}/test":/tmp ${{ env.container }} my_address_file_geocoded.csv 1980
docker run --rm -v "${PWD}/test":/tmp ${{ env.container }} my_address_file_geocoded.csv 1970
docker run --rm -v "${PWD}/test":/tmp ${{ env.container }} geometry_error.csv 2000
- name: login to ghcr
uses: docker/login-action@v1
with:
registry: ${{ env.registry }}
username: ${{ env.username }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: deploy pull request container
run: |
docker tag ${{ env.container }} ${{ env.versioned }}
docker push ${{ env.versioned }}
47 changes: 47 additions & 0 deletions .github/workflows/build-deploy-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: build-deploy-release
on:
release:
types: [published]
jobs:
deploy-images:
runs-on: ubuntu-latest
env:
registry: ghcr.io
username: degauss-org
repository: census_block_group
strategy:
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v2
- name: create latest tag variable
run: |
container="${{ env.registry }}/${{ env.username}}/${{ env.repository }}:latest"
echo "container=${container}" >> $GITHUB_ENV
- name: create release tag variable
if: github.event_name == 'release'
run: |
versioned="${{ env.registry }}/${{ env.username}}/${{ env.repository }}:${GITHUB_REF##*/}"
echo "versioned=${versioned}" >> $GITHUB_ENV
- name: build container
run: |
docker build -t ${{ env.container }} .
- name: test container
run: |
docker run --rm -v "${PWD}/test":/tmp ${{ env.container }} my_address_file_geocoded.csv 2010
docker run --rm -v "${PWD}/test":/tmp ${{ env.container }} my_address_file_geocoded.csv 2000
docker run --rm -v "${PWD}/test":/tmp ${{ env.container }} my_address_file_geocoded.csv 1990
docker run --rm -v "${PWD}/test":/tmp ${{ env.container }} my_address_file_geocoded.csv 1980
docker run --rm -v "${PWD}/test":/tmp ${{ env.container }} my_address_file_geocoded.csv 1970
docker run --rm -v "${PWD}/test":/tmp ${{ env.container }} geometry_error.csv 2000
- name: login to ghcr
uses: docker/login-action@v1
with:
registry: ${{ env.registry }}
username: ${{ env.username }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: deploy release (and latest) container
run: |
docker tag ${{ env.container }} ${{ env.versioned }}
docker push ${{ env.versioned }}
docker push ${{ env.container }}
97 changes: 0 additions & 97 deletions .github/workflows/build-deploy.yaml

This file was deleted.

11 changes: 9 additions & 2 deletions 00_make_block_group_shp.R
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,16 @@ blk_grps_sf_1990 <- st_read("nhgis0016_shape/nhgis0016_shapefile_tl2000_us_blck_

blk_grps_sf_1990 <- st_transform(blk_grps_sf_1990, crs=5072)

blk_grps_sf_1990 %>%
dplyr::mutate(state_fips = stringr::str_sub(string = GISJOIN2, 1, 2))

blk_grps_sf_1990 <- blk_grps_sf_1990 %>%
dplyr::select(fips_block_group_id_1990 = STFID,
geometry) %>%
dplyr::mutate(state_fips = stringr::str_sub(blk_grps_sf_1990$GISJOIN2, 1, 2),
county_fips = stringr::str_sub(blk_grps_sf_1990$GISJOIN2, 4, 6),
tract_fips = stringr::str_sub(blk_grps_sf_1990$GISJOIN2, 8, -2),
tract_fips = stringr::str_pad(tract_fips, 6, pad = "0"),
fips_block_group_id_1990 = glue::glue('{state_fips}{county_fips}{tract_fips}{GROUP}')) %>%
select(fips_block_group_id_1990, geometry) %>%
mutate(fips_block_group_id_1990 = as.character(fips_block_group_id_1990))

blk_grps_sf_1990 <- sf::st_make_valid(blk_grps_sf_1990)
Expand Down
31 changes: 15 additions & 16 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,34 +1,33 @@
FROM rocker/r-ver:4.0.0
FROM rocker/r-ver:4.0.4

# DeGAUSS container metadata
ENV degauss_name="census_block_group"
ENV degauss_version="0.4.3"
ENV degauss_version="0.5.0"
ENV degauss_description="census block group and tract"
ENV degauss_argument="census geography vintage [default: 2010]"
ENV degauss_argument="census year [default: 2010]"

# add OCI labels based on environment variables too
LABEL "org.degauss.name"="${degauss_name}"
LABEL "org.degauss.version"="${degauss_version}"
LABEL "org.degauss.description"="${degauss_description}"
LABEL "org.degauss.argument"="${degauss_argument}"

RUN R --quiet -e "install.packages('remotes', repos = 'https://packagemanager.rstudio.com/all/__linux__/focal/latest')"
# make sure version matches what is used in the project: packageVersion('renv')
ENV RENV_VERSION 0.14.0
RUN R --quiet -e "remotes::install_github('rstudio/renv@${RENV_VERSION}')"
RUN R --quiet -e "install.packages('remotes', repos = c(CRAN = 'https://packagemanager.rstudio.com/all/__linux__/focal/latest'))"

RUN R --quiet -e "remotes::install_github('rstudio/renv@0.15.2')"

WORKDIR /app

RUN apt-get update \
&& apt-get install -yqq --no-install-recommends \
libgdal-dev \
libgeos-dev \
libudunits2-dev \
libproj-dev \
libssl-dev \
&& apt-get clean
&& apt-get install -yqq --no-install-recommends \
libgdal-dev \
libgeos-dev \
libudunits2-dev \
libproj-dev \
&& apt-get clean

COPY renv.lock .

RUN R --quiet -e "renv::restore(repos = c(CRAN = 'https://packagemanager.rstudio.com/all/__linux__/focal/latest'))"

ADD https://geomarker.s3.us-east-2.amazonaws.com/geometries/block_groups_2020_5072.rds .
Expand All @@ -37,8 +36,8 @@ ADD https://geomarker.s3.us-east-2.amazonaws.com/geometries/block_groups_2000_50
ADD https://geomarker.s3.us-east-2.amazonaws.com/geometries/block_groups_1990_5072.rds .
ADD https://geomarker.s3.us-east-2.amazonaws.com/geometries/tracts_1980_5072.rds .
ADD https://geomarker.s3.us-east-2.amazonaws.com/geometries/tracts_1970_5072.rds .
COPY census_block_group.R .
COPY entrypoint.R .

WORKDIR /tmp

ENTRYPOINT ["/app/census_block_group.R"]
ENTRYPOINT ["/app/entrypoint.R"]
Loading

0 comments on commit 39e57fd

Please sign in to comment.