-
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# These are supported funding model platforms | ||
|
||
github: [overheadhunter, cryptomator] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] | ||
patreon: # Replace with a single Patreon username | ||
open_collective: # Replace with a single Open Collective username | ||
ko_fi: # Replace with a single Ko-fi username | ||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel | ||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry | ||
liberapay: # Replace with a single Liberapay username | ||
issuehunt: # Replace with a single IssueHunt username | ||
otechie: # Replace with a single Otechie username | ||
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry | ||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,128 @@ | ||
name: Build | ||
on: | ||
[push] | ||
|
||
jobs: | ||
|
||
linux-amd64: | ||
name: Test jfuse-linux-amd64 | ||
runs-on: ubuntu-latest | ||
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/setup-java@v2 | ||
with: | ||
java-version: 19-ea | ||
distribution: 'zulu' | ||
cache: 'maven' | ||
- name: Setup fuse | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install fuse libfuse-dev | ||
- name: Maven build | ||
run: mvn -B verify -Plinux-amd64 | ||
- uses: actions/upload-artifact@v2 | ||
with: | ||
name: coverage-linux-amd64 | ||
path: jfuse-tests/target/site/jacoco-aggregate/jacoco.xml | ||
retention-days: 3 | ||
|
||
mac: | ||
name: Test jfuse-mac | ||
runs-on: macos-10.15 | ||
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/setup-java@v2 | ||
with: | ||
java-version: 19-ea | ||
distribution: 'zulu' | ||
cache: 'maven' | ||
- name: Setup fuse | ||
run: brew install macfuse | ||
- name: Maven build | ||
run: mvn -B verify -Pmac | ||
- uses: actions/upload-artifact@v2 | ||
with: | ||
name: coverage-mac | ||
path: jfuse-tests/target/site/jacoco-aggregate/jacoco.xml | ||
retention-days: 3 | ||
|
||
win-amd64: | ||
name: Test jfuse-win-amd64 | ||
runs-on: windows-latest | ||
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/setup-java@v2 | ||
with: | ||
java-version: 19-ea | ||
distribution: 'zulu' | ||
cache: 'maven' | ||
- name: Setup fuse | ||
run: choco install winfsp --version 1.10.22006 -y | ||
- name: Maven build | ||
run: mvn -B verify -Pwin-amd64 | ||
- uses: actions/upload-artifact@v2 | ||
with: | ||
name: coverage-win-amd64 | ||
path: jfuse-tests/target/site/jacoco-aggregate/jacoco.xml | ||
retention-days: 3 | ||
|
||
sonarcloud: | ||
name: Run SonarCloud Analysis | ||
needs: [linux-amd64, mac, win-amd64] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
- uses: actions/setup-java@v2 | ||
with: | ||
java-version: 19-ea | ||
distribution: 'zulu' | ||
cache: 'maven' | ||
- name: Cache SonarCloud packages | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.sonar/cache | ||
key: ${{ runner.os }}-sonar | ||
restore-keys: ${{ runner.os }}-sonar | ||
- uses: actions/download-artifact@v2 | ||
with: | ||
name: coverage-linux-amd64 | ||
path: coverage/linux-amd64 | ||
- uses: actions/download-artifact@v2 | ||
with: | ||
name: coverage-mac | ||
path: coverage/mac | ||
- uses: actions/download-artifact@v2 | ||
with: | ||
name: coverage-win-amd64 | ||
path: coverage/win-amd64 | ||
- name: Analyze | ||
run: > | ||
mvn -B compile -DskipTests | ||
org.sonarsource.scanner.maven:sonar-maven-plugin:sonar | ||
-Plinux-amd64,linux-aarch64,mac,win-amd64 | ||
-Dsonar.projectKey=cryptomator_jfuse | ||
-Dsonar.coverage.jacoco.xmlReportPaths=${GITHUB_WORKSPACE}/coverage/**/jacoco.xml | ||
-Dsonar.organization=cryptomator | ||
-Dsonar.host.url=https://sonarcloud.io | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any | ||
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | ||
|
||
release: | ||
needs: [ sonarcloud ] | ||
if: startsWith(github.ref, 'refs/tags/') | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Create Release | ||
uses: actions/create-release@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.CRYPTOBOT_RELEASE_TOKEN }} # release as "cryptobot" | ||
with: | ||
tag_name: ${{ github.ref }} | ||
release_name: Release ${{ github.ref }} | ||
prerelease: true |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
name: Publish to Maven Central | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
tag: | ||
description: 'Tag' | ||
required: true | ||
default: '0.0.0' | ||
jobs: | ||
publish: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
ref: "refs/tags/${{ github.event.inputs.tag }}" | ||
- uses: actions/setup-java@v2 | ||
with: | ||
java-version: 19-ea | ||
distribution: 'zulu' | ||
cache: 'maven' | ||
server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml | ||
server-username: MAVEN_USERNAME # env variable for username in deploy | ||
server-password: MAVEN_PASSWORD # env variable for token in deploy | ||
gpg-private-key: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }} # Value of the GPG private key to import | ||
gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase | ||
- name: Enforce project version ${{ github.event.inputs.tag }} | ||
run: mvn versions:set -B -DnewVersion=${{ github.event.inputs.tag }} | ||
- name: Deploy | ||
run: mvn deploy -B -DskipTests -Psign,deploy-central,linux-amd64,linux-aarch64,mac,win-amd64 --no-transfer-progress | ||
env: | ||
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} | ||
MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} | ||
MAVEN_GPG_PASSPHRASE: ${{ secrets.RELEASES_GPG_PASSPHRASE }} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
name: Publish to GitHub Packages | ||
on: | ||
release: | ||
types: [published] | ||
jobs: | ||
publish: | ||
runs-on: ubuntu-latest | ||
if: startsWith(github.ref, 'refs/tags/') # only allow publishing tagged versions | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/setup-java@v2 | ||
with: | ||
java-version: 19-ea | ||
distribution: 'zulu' | ||
cache: 'maven' | ||
gpg-private-key: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }} # Value of the GPG private key to import | ||
gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase | ||
- name: Enforce project version ${{ github.event.release.tag_name }} | ||
run: mvn versions:set -B -DnewVersion=${{ github.event.release.tag_name }} | ||
- name: Deploy | ||
run: mvn deploy -B -DskipTests -Psign,deploy-github,linux-amd64,linux-aarch64,mac,win-amd64 --no-transfer-progress | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
MAVEN_GPG_PASSPHRASE: ${{ secrets.RELEASES_GPG_PASSPHRASE }} | ||
- name: Slack Notification | ||
uses: rtCamp/action-slack-notify@v2 | ||
env: | ||
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }} | ||
SLACK_USERNAME: 'Cryptobot' | ||
SLACK_ICON: | ||
SLACK_ICON_EMOJI: ':bot:' | ||
SLACK_CHANNEL: 'cryptomator-desktop' | ||
SLACK_TITLE: "Published ${{ github.event.repository.name }} ${{ github.event.release.tag_name }}" | ||
SLACK_MESSAGE: "Ready to <https://github.com/${{ github.repository }}/actions/workflows/publish-central.yml|deploy to Maven Central>." | ||
SLACK_FOOTER: | ||
MSG_MINIMAL: true |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
This file was deleted.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.