Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publish gt-contrib artifacts automatically to SonaType via CircleCI #236

Merged
merged 1 commit into from Sep 27, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
104 changes: 104 additions & 0 deletions .circleci/config.yml
@@ -0,0 +1,104 @@
aliases:
- &restore_sbt_cache
key: sbt-cache-{{ checksum "/tmp/scala_version" }}

- &save_sbt_cache
key: sbt-cache-{{ checksum "/tmp/scala_version" }}-{{ epoch }}
paths:
- "~/.ivy2/cache"
- "~/.sbt"
- "~/.cache/coursier"

- &run_cibuild
- checkout
- run: echo "${SCALA_VERSION}" > /tmp/scala_version
- restore_cache: *restore_sbt_cache
- run:
name: Executing cibuild
command: ./scripts/cibuild
- save_cache: *save_sbt_cache

- &run_cipublish
- checkout
- run: echo "${SCALA_VERSION}" > /tmp/scala_version
- restore_cache: *restore_sbt_cache
- run:
name: "Import signing key"
command: |
echo "${GPG_KEY}" | base64 -d > signing_key.asc && \
gpg --batch \
--passphrase "${GPG_PASSPHRASE}" \
--import signing_key.asc
- run:
name: Executing cipublish
command: ./scripts/cipublish

# Build environments
- &openjdk8-scala2_11_12_environment
machine:
CloudNiner marked this conversation as resolved.
Show resolved Hide resolved
image: ubuntu-1604:201903-01
environment:
SCALA_VERSION: 2.11.12

- &openjdk8-scala2_12_8_environment
machine:
image: ubuntu-1604:201903-01
environment:
SCALA_VERSION: 2.12.8

version: 2
workflows:
version: 2
build:
jobs:
- "openjdk8-scala2.11.12":
filters: # required since `openjdk8-scala2.11.12_deploy` has tag filters AND requires `openjdk8-scala2.11.12`
tags:
only:
- /^(.*)$/
- "openjdk8-scala2.12.8":
filters: # required since `openjdk8-scala2.12.8_deploy` has tag filters AND requires `openjdk8-scala2.12.8`
tags:
only:
- /^(.*)$/
- "openjdk8-scala2.11.12_deploy":
requires:
- "openjdk8-scala2.11.12"
filters:
tags:
only:
- /^(.*)$/
branches:
only:
- develop
- /release\/.*/
- /hotfix\/.*/
- "openjdk8-scala2.12.8_deploy":
requires:
- "openjdk8-scala2.12.8"
filters:
tags:
only:
- /^(.*)$/
branches:
only:
- develop
- /release\/.*/
- /hotfix\/.*/

jobs:
"openjdk8-scala2.11.12":
<<: *openjdk8-scala2_11_12_environment
steps: *run_cibuild

"openjdk8-scala2.12.8":
<<: *openjdk8-scala2_12_8_environment
steps: *run_cibuild

"openjdk8-scala2.11.12_deploy":
<<: *openjdk8-scala2_11_12_environment
steps: *run_cipublish

"openjdk8-scala2.12.8_deploy":
<<: *openjdk8-scala2_12_8_environment
steps: *run_cipublish
37 changes: 37 additions & 0 deletions .github/ISSUE_TEMPLATE/release.md
@@ -0,0 +1,37 @@
---
name: Release
about: When ready to cut a release
title: Release X.Y.Z
labels: release
assignees: ""
---

- [ ] Start a new release branch:

```bash
$ git flow release start X.Y.Z
```

- [ ] Rotate `CHANGELOG.md` (following [Keep a Changelog](https://keepachangelog.com/) principles)
- [ ] Ensure outstanding changes are committed:

```bash
$ git status # Is the git staging area clean?
$ git add CHANGELOG.md
$ git commit -m "X.Y.Z"
```

- [ ] Publish the release branch:

```bash
$ git flow release publish X.Y.Z
```

- [ ] Ensure that CI checks pass
- [ ] Finish and publish the release branch:
- When prompted, keep default commit messages
- Use `X.Y.Z` as the tag message

```bash
$ git flow release finish -p X.Y.Z
```
24 changes: 14 additions & 10 deletions .github/pull_request_template.md
@@ -1,21 +1,25 @@
# Overview
## Overview

Brief description of what this PR does and why it's important
Brief description of what this PR does, and why it is needed.

## Demo
### Checklist

Optional. Screenshots, etc.
- [ ] Description of PR is in an appropriate section of the CHANGELOG and grouped with similar changes if possible

## Notes
### Demo

Optional. Extra context, ancillary topics, alternative strategies that didn't work out, etc.
Optional. Screenshots, `http` examples, etc.

## Testing Instructions
### Notes

Optional. Include if there's more specifics than "CI tests should pass".
Optional. Ancillary topics, caveats, alternative strategies that didn't work out, anything else.

## Checklist
## Testing Instructions

- [ ] Add entry to CHANGELOG.md
- How to test this PR
- Prefer bulleted description
- Start after checking out this branch
- Include any setup required, such as bundling scripts, restarting services, etc.
- Include test case, and expected output

Closes #XXX
27 changes: 0 additions & 27 deletions .travis.yml

This file was deleted.

9 changes: 0 additions & 9 deletions .travis/build-and-test-docker.sh

This file was deleted.

6 changes: 0 additions & 6 deletions .travis/build-and-test.sh

This file was deleted.

10 changes: 0 additions & 10 deletions .travis/slickTestDB.sh

This file was deleted.

5 changes: 5 additions & 0 deletions CHANGELOG.md
Expand Up @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Changed

- Artifacts are published to https://oss.sonatype.org automatically via CircleCI
- The `bintray` resolver in build.sbt is no longer necessary as of this release
- Commits to the develop branch are available as SNAPSHOT releases
- Move RasterSources into GeoTrellis core, only RasterSources effects are present in this repository now.

## [3.17.1] - 2019-08-26
Expand Down
28 changes: 0 additions & 28 deletions Dockerfile.benchmark

This file was deleted.

28 changes: 0 additions & 28 deletions Makefile.benchmark

This file was deleted.

12 changes: 4 additions & 8 deletions README.md
@@ -1,26 +1,22 @@
# GeoTrellis Contributions repo

[![Build Status](https://travis-ci.org/geotrellis/geotrellis-contrib.svg?branch=master)](https://travis-ci.org/geotrellis/geotrellis-contrib)
[![CircleCI](https://circleci.com/gh/geotrellis/geotrellis-contrib/tree/develop.svg?style=svg)](https://circleci.com/gh/geotrellis/geotrellis-contrib/tree/develop)

This is a repository is a place to put extra [GeoTrellis](https://github.com/locationtech/geotrellis) projects, that were not included into the main repo for various reasons.

- Project names should be of the form `geotrellis-contrib-{feature}`
- Project versions should start with `0.0.1` and not be tied to GeoTrellis version.
- Project publishing will happen on BinTray

- Project names should be of the form `geotrellis-contrib-{feature}`
- Project versions should start with `0.0.1` and not be tied to GeoTrellis version.
- Project publishing will happen on SonaType

## Usage

via `sbt`:

```scala
resolvers += "Azavea Public Builds" at "https://dl.bintray.com/azavea/geotrellis"
...
libraryDependencies ++= Seq(
"com.azavea.geotrellis" %% "geotrellis-contrib-vlm" % "X.Y.Z",
"com.azavea.geotrellis" %% "geotrellis-contrib-gdal" % "X.Y.Z"
)
```

Go to [releases](https://github.com/geotrellis/geotrellis-contrib/releases) to see available versions.

30 changes: 0 additions & 30 deletions RELEASING.md

This file was deleted.