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

Setup release and update project build #76

Merged
merged 7 commits into from
Apr 4, 2022
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.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 0 additions & 23 deletions .github/ISSUE_TEMPLATE/add-company-logo-to-users.md

This file was deleted.

32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: Bug report
about: Create a report to help us improve
title: "[BUG] Short description"
labels: bug
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Environment (please complete the following information):**
- Kotlin version [eg. 1.3.61]:
- [Kotlin Intellij IDEA plugin version](https://plugins.jetbrains.com/plugin/6954-kotlin/versions) [eg. 1.3.61-release-IJ2019.3-1]:
- Intellij IDEA version:

**Additional context**
Add any other context about the problem here.
18 changes: 13 additions & 5 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
---
name: Feature request
about: What would you like to see in Arrow?
title: [Request]
about: Suggest an idea for this project
title: ''
labels: ''
assignees: Maintainers
assignees: ''

---

What version are you currently using?
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

What would you like to see?
**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
34 changes: 0 additions & 34 deletions .github/workflows/build_arrow-integrations.yml

This file was deleted.

19 changes: 0 additions & 19 deletions .github/workflows/build_doc_arrow-integrations.yml

This file was deleted.

59 changes: 59 additions & 0 deletions .github/workflows/generate-alpha-tag.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: generate-alpha-tag

on:
push:
branches:
- main

env:
GRADLE_OPTS: -Dorg.gradle.daemon=false -Dorg.gradle.parallel=false -Dorg.gradle.jvmargs="-Xmx5g -XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8"

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Set up Java
uses: actions/[email protected]
with:
distribution: 'adopt'
java-version: '15'

- name: Gradle build
run: ./gradlew --full-stacktrace build "-Psemver.stage=alpha"

- name: Stop Gradle daemons
run: ./gradlew --stop

generate-alpha-tag:
runs-on: ubuntu-latest

needs:
- build

steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
token: ${{ secrets.TOKEN_GITHUB_ACTION }}

- name: Set up Java
uses: actions/[email protected]
with:
distribution: 'adopt'
java-version: '15'

- name: Generate Tag
run: ./gradlew --full-stacktrace createSemverTag "-Psemver.stage=alpha"

- name: Push
run: git push --follow-tags

- name: Stop Gradle daemons
run: ./gradlew --stop
80 changes: 80 additions & 0 deletions .github/workflows/generate-tag.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: generate-tag

on:
workflow_dispatch:
if: github.ref == 'refs/heads/main'
inputs:
stage:
description: 'Stage'
required: true
default: 'auto'
type: choice
options:
- 'alpha'
- 'beta'
- 'rc'
- 'final'
- 'auto'
scope:
description: 'Scope'
required: true
default: 'auto'
type: choice
options:
- 'patch'
- 'minor'
- 'major'
- 'auto'

env:
GRADLE_OPTS: -Dorg.gradle.daemon=false -Dorg.gradle.parallel=false -Dorg.gradle.jvmargs="-Xmx5g -XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8"

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Set up Java
uses: actions/[email protected]
with:
distribution: 'adopt'
java-version: '15'

- name: Gradle build
run: ./gradlew --full-stacktrace build "-Psemver.scope=${{ github.event.inputs.scope }}" "-Psemver.stage=${{ github.event.inputs.stage }}"

- name: Stop Gradle daemons
run: ./gradlew --stop

generate-tag:
runs-on: ubuntu-latest

needs:
- build

steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
token: ${{ secrets.TOKEN_GITHUB_ACTION }}

- name: Set up Java
uses: actions/[email protected]
with:
distribution: 'adopt'
java-version: '15'

- name: Generate Tag
run: ./gradlew --full-stacktrace createSemverTag "-Psemver.scope=${{ github.event.inputs.scope }}" "-Psemver.stage=${{ github.event.inputs.stage }}"

- name: Push
run: git push --follow-tags

- name: Stop Gradle daemons
run: ./gradlew --stop
93 changes: 93 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: Publish Artifacts

on:
push:
tags:
- '**'

env:
SONATYPE_USER: ${{ secrets.SONATYPE_USER }}
SONATYPE_PWD: ${{ secrets.SONATYPE_PWD }}
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.PGP_SECRET }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.PGP_PASSPHRASE }}
OSS_USER: '${{ secrets.OSS_USER }}'
OSS_TOKEN: '${{ secrets.OSS_TOKEN }}'
OSS_STAGING_PROFILE_ID: '${{ secrets.OSS_STAGING_PROFILE_ID }}'
SIGNING_KEY_NAME: '${{ secrets.SIGNING_KEY_NAME }}'
SIGNING_KEY_ID: '${{ secrets.SIGNING_KEY_ID }}'
SIGNING_KEY_PASSPHRASE: '${{ secrets.SIGNING_KEY_PASSPHRASE }}'
SIGNING_KEY: '${{ secrets.SIGNING_KEY }}'
GRADLE_PUBLISH_KEY: '${{ secrets.GRADLE_PUBLISH_KEY }}'
GRADLE_PUBLISH_SECRET: '${{ secrets.GRADLE_PUBLISH_SECRET }}'

jobs:
build:

runs-on: ubuntu-latest
timeout-minutes: 30

outputs:
integrations-version: ${{ steps.get-integrations-version.outputs.integrations-version }}

steps:
- uses: actions/[email protected]
with:
fetch-depth: 0

- uses: actions/[email protected]
with:
distribution: 'adopt'
java-version: '15'

- name: Build and test with Gradle
uses: gradle/[email protected]
with:
arguments: build --scan --stacktrace

- id: get-integrations-version
name: Get Arrow Integrations version
run: |
./gradlew
echo "::set-output name=integrations-version::$(head -n 1 build/semver/version.txt)"

- name: Upload reports
uses: actions/[email protected]
with:
name: 'reports-${{ matrix.os }}'
path: '**/build/reports/**'

- name: Stop Gradle daemons
run: ./gradlew --stop

publish:
needs: build
env:
JAVA_OPTS: -Xms512m -Xmx1024m

runs-on: macos-11

steps:
- uses: actions/[email protected]

- uses: actions/[email protected]
with:
distribution: 'adopt'
java-version: '15'
cache: 'gradle'

- name: Publish alpha/beta/rc artifacts
if: |
contains(needs.build.outputs.integrations-version, 'alpha') ||
contains(needs.build.outputs.integrations-version, 'beta') ||
contains(needs.build.outputs.integrations-version, 'rc')
run: ./gradlew --full-stacktrace publishToSonatype closeAndReleaseSonatypeStagingRepository

- name: Publish final artifacts
if: |
!contains(needs.build.outputs.integrations-version, 'alpha') &&
!contains(needs.build.outputs.integrations-version, 'beta') &&
!contains(needs.build.outputs.integrations-version, 'rc')
run: ./gradlew --full-stacktrace publishToSonatype closeAndReleaseSonatypeStagingRepository

- name: Stop Gradle daemons
run: ./gradlew --stop
Loading