-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit c275ab9
Showing
8 changed files
with
358 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
name: Run tests | ||
|
||
on: | ||
pull_request: | ||
push: | ||
branches: | ||
- main | ||
tags: | ||
- \d+.\d+.\d+ | ||
|
||
jobs: | ||
test: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Setup bitrise | ||
- run: | | ||
curl -fL https://github.com/bitrise-io/bitrise/releases/2.16.1/download/bitrise-$(uname -s)-$(uname -m) > /usr/local/bin/bitrise | ||
chmod +x /usr/local/bin/bitrise | ||
bitrise setup | ||
- name: Prepare secrets | ||
- run: | | ||
ruby -rerb -e 'File.write(".bitrise.secrets.yml", ERB.new(File.read(ARGV[0])).result(binding))' .bitrise.secrets.yml.erb | ||
- name: Run tests | ||
- run: bitrise run test | ||
env: | ||
TEST_API_KEY: ${{ secrets.TEST_API_KEY }} | ||
TEST_APP_KEY: ${{ secrets.TEST_APP_KEY }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
.bitrise* | ||
.idea | ||
.vscode | ||
README.md.backup | ||
_tmp/ | ||
.bitrise.secrets.yml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
The MIT License (MIT) | ||
|
||
Copyright (c) 2024 Sergey Chuvashev | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
# deploy-to-updraft | ||
|
||
Deploy to Getupdraft.com | ||
|
||
|
||
## How to use this Step | ||
|
||
Can be run directly with the [bitrise CLI](https://github.com/bitrise-io/bitrise), | ||
just `git clone` this repository, `cd` into it's folder in your Terminal/Command Line | ||
and call `bitrise run test`. | ||
|
||
*Check the `bitrise.yml` file for required inputs which have to be | ||
added to your `.bitrise.secrets.yml` file!* | ||
|
||
Step by step: | ||
|
||
1. Open up your Terminal / Command Line | ||
2. `git clone` the repository | ||
3. `cd` into the directory of the step (the one you just `git clone`d) | ||
5. Create a `.bitrise.secrets.yml` file in the same directory of `bitrise.yml` | ||
(the `.bitrise.secrets.yml` is a git ignored file, you can store your secrets in it) | ||
6. Check the `bitrise.yml` file for any secret you should set in `.bitrise.secrets.yml` | ||
* Best practice is to mark these options with something like `# define these in your .bitrise.secrets.yml`, in the `app:envs` section. | ||
7. Once you have all the required secret parameters in your `.bitrise.secrets.yml` you can just run this step with the [bitrise CLI](https://github.com/bitrise-io/bitrise): `bitrise run test` | ||
|
||
An example `.bitrise.secrets.yml` file: | ||
|
||
``` | ||
envs: | ||
- A_SECRET_PARAM_ONE: the value for secret one | ||
- A_SECRET_PARAM_TWO: the value for secret two | ||
``` | ||
|
||
## How to create your own step | ||
|
||
1. Create a new git repository for your step (**don't fork** the *step template*, create a *new* repository) | ||
2. Copy the [step template](https://github.com/bitrise-steplib/step-template) files into your repository | ||
3. Fill the `step.sh` with your functionality | ||
4. Wire out your inputs to `step.yml` (`inputs` section) | ||
5. Fill out the other parts of the `step.yml` too | ||
6. Provide test values for the inputs in the `bitrise.yml` | ||
7. Run your step with `bitrise run test` - if it works, you're ready | ||
|
||
__For Step development guidelines & best practices__ check this documentation: [https://github.com/bitrise-io/bitrise/blob/master/_docs/step-development-guideline.md](https://github.com/bitrise-io/bitrise/blob/master/_docs/step-development-guideline.md). | ||
|
||
**NOTE:** | ||
|
||
If you want to use your step in your project's `bitrise.yml`: | ||
|
||
1. git push the step into it's repository | ||
2. reference it in your `bitrise.yml` with the `git::PUBLIC-GIT-CLONE-URL@BRANCH` step reference style: | ||
|
||
``` | ||
- git::https://github.com/user/my-step.git@branch: | ||
title: My step | ||
inputs: | ||
- my_input_1: "my value 1" | ||
- my_input_2: "my value 2" | ||
``` | ||
|
||
You can find more examples of step reference styles | ||
in the [bitrise CLI repository](https://github.com/bitrise-io/bitrise/blob/master/_examples/tutorials/steps-and-workflows/bitrise.yml#L65). | ||
|
||
## How to contribute to this Step | ||
|
||
1. Fork this repository | ||
2. `git clone` it | ||
3. Create a branch you'll work on | ||
4. To use/test the step just follow the **How to use this Step** section | ||
5. Do the changes you want to | ||
6. Run/test the step before sending your contribution | ||
* You can also test the step in your `bitrise` project, either on your Mac or on [bitrise.io](https://www.bitrise.io) | ||
* You just have to replace the step ID in your project's `bitrise.yml` with either a relative path, or with a git URL format | ||
* (relative) path format: instead of `- original-step-id:` use `- path::./relative/path/of/script/on/your/Mac:` | ||
* direct git URL format: instead of `- original-step-id:` use `- git::https://github.com/user/step.git@branch:` | ||
* You can find more example of alternative step referencing at: https://github.com/bitrise-io/bitrise/blob/master/_examples/tutorials/steps-and-workflows/bitrise.yml | ||
7. Once you're done just commit your changes & create a Pull Request | ||
|
||
|
||
## Share your own Step | ||
|
||
You can share your Step or step version with the [bitrise CLI](https://github.com/bitrise-io/bitrise). If you use the `bitrise.yml` included in this repository, all you have to do is: | ||
|
||
1. In your Terminal / Command Line `cd` into this directory (where the `bitrise.yml` of the step is located) | ||
1. Run: `bitrise run test` to test the step | ||
1. Run: `bitrise run audit-this-step` to audit the `step.yml` | ||
1. Check the `share-this-step` workflow in the `bitrise.yml`, and fill out the | ||
`envs` if you haven't done so already (don't forget to bump the version number if this is an update | ||
of your step!) | ||
1. Then run: `bitrise run share-this-step` to share the step (version) you specified in the `envs` | ||
1. Send the Pull Request, as described in the logs of `bitrise run share-this-step` | ||
|
||
That's all ;) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
format_version: 4 | ||
default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git | ||
|
||
app: | ||
envs: | ||
- TEST_API_KEY: "$TEST_API_KEY" | ||
- TEST_APP_KEY: "$TEST_APP_KEY" | ||
- BITRISE_STEP_ID: deploy-to-updraft | ||
- BITRISE_STEP_VERSION: "0.0.1" | ||
- BITRISE_STEP_GIT_CLONE_URL: https://github.com/appswithlove/bitrise-step-deploy-to-updraft.git | ||
- MY_STEPLIB_REPO_FORK_GIT_URL: $MY_STEPLIB_REPO_FORK_GIT_URL | ||
|
||
workflows: | ||
test: | ||
steps: | ||
- change-workdir: | ||
title: Switch working dir to test / _tmp dir | ||
description: |- | ||
To prevent step testing issues, like referencing relative | ||
files with just './some-file' in the step's code, which would | ||
work for testing the step from this directory directly | ||
but would break if the step is included in another `bitrise.yml`. | ||
run_if: true | ||
inputs: | ||
- path: ./_tmp | ||
- is_create_path: true | ||
- path::./: | ||
title: Deploy test apk without release notes | ||
run_if: true | ||
inputs: | ||
- api_key: "$TEST_API_KEY" | ||
- app_key: "$TEST_APP_KEY" | ||
- app_path: "../test/test.apk" | ||
- path::./: | ||
title: Deploy test apk with release notes | ||
run_if: true | ||
inputs: | ||
- api_key: "$TEST_API_KEY" | ||
- app_key: "$TEST_APP_KEY" | ||
- app_path: "../test/test.apk" | ||
- release_notes: "Test release notes" | ||
- script: | ||
inputs: | ||
- content: | | ||
#!/bin/bash | ||
echo "This output was generated by the Step (EXAMPLE_STEP_OUTPUT): $EXAMPLE_STEP_OUTPUT" | ||
# ---------------------------------------------------------------- | ||
# --- workflows to Share this step into a Step Library | ||
audit-this-step: | ||
steps: | ||
- script: | ||
inputs: | ||
- content: |- | ||
#!/bin/bash | ||
set -ex | ||
stepman audit --step-yml ./step.yml | ||
share-this-step: | ||
envs: | ||
# if you want to share this step into a StepLib | ||
- MY_STEPLIB_REPO_FORK_GIT_URL: $MY_STEPLIB_REPO_FORK_GIT_URL | ||
- BITRISE_STEP_ID: $BITRISE_STEP_ID | ||
- BITRISE_STEP_VERSION: $BITRISE_STEP_VERSION | ||
- BITRISE_STEP_GIT_CLONE_URL: $BITRISE_STEP_GIT_CLONE_URL | ||
description: |- | ||
If this is the first time you try to share a Step you should | ||
first call: $ bitrise share | ||
This will print you a guide, and information about how Step sharing | ||
works. Please read it at least once! | ||
As noted in the Step sharing guide you'll have to fork the | ||
StepLib you want to share this step into. Once you're done with forking | ||
the repository you should set your own fork's git clone URL | ||
in the `.bitrise.secrets.yml` file, or here in the `envs` section, | ||
as the value of the `MY_STEPLIB_REPO_FORK_GIT_URL` environment. | ||
You're now ready to share this Step, just make sure that | ||
the `BITRISE_STEP_ID` and `BITRISE_STEP_VERSION` | ||
environments are set to the desired values! | ||
To share this Step into a StepLib you can just run: $ bitrise run share-this-step | ||
Once it finishes the only thing left is to actually create a Pull Request, | ||
the way described in the guide printed at the end of the process. | ||
before_run: | ||
- audit-this-step | ||
steps: | ||
- script: | ||
inputs: | ||
- content: |- | ||
#!/bin/bash | ||
set -ex | ||
bitrise share start -c "${MY_STEPLIB_REPO_FORK_GIT_URL}" | ||
bitrise share create --stepid "${BITRISE_STEP_ID}" --tag "${BITRISE_STEP_VERSION}" --git "${BITRISE_STEP_GIT_CLONE_URL}" | ||
bitrise share finish |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
#!/bin/bash | ||
set -ex | ||
|
||
readonly output_file="output.json" | ||
|
||
upload_task() { | ||
curl --silent -f \ | ||
-o "$output_file" \ | ||
-F whats_new="$release_notes" \ | ||
-F "app=@$app_path" \ | ||
-X PUT https://getupdraft.com/api/app_upload/$APP_KEY/$API_KEY/ | ||
} | ||
|
||
cat "$output_file" | ||
|
||
if ! upload_task; then | ||
err "Uploading error" | ||
exit 1 | ||
fi | ||
|
||
envman add --key UPDRAFT_DEPLOY_STEP_OUTPUT --value "$output_file" | ||
|
||
echo "Uploaded succesfuly" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
# | ||
# A couple of useful guides & docs: | ||
# | ||
# - Main Bitrise CLI docs: https://github.com/bitrise-io/bitrise/tree/master/_docs | ||
# - Step Development Guideline: https://github.com/bitrise-io/bitrise/blob/master/_docs/step-development-guideline.md | ||
# - Bitrise.yml format spec: https://github.com/bitrise-io/bitrise/blob/master/_docs/bitrise-yml-format-spec.md | ||
# - Bitrise docs: http://devcenter.bitrise.io/ | ||
# - Bitrise CLI guides: http://devcenter.bitrise.io/bitrise-cli/ | ||
|
||
title: |- | ||
deploy-to-updraft | ||
summary: | | ||
Deploy to Getupdraft.com | ||
description: | | ||
Deploy to Getupdraft.com | ||
website: https://github.com/appswithlove/bitrise-step-deploy-to-updraft-android | ||
source_code_url: https://github.com/appswithlove/bitrise-step-deploy-to-updraft-android | ||
support_url: https://github.com/appswithlove/bitrise-step-deploy-to-updraft-android/issues | ||
|
||
project_type_tags: | ||
- ios | ||
# - macos | ||
- android | ||
- xamarin | ||
- react-native | ||
- cordova | ||
- ionic | ||
- flutter | ||
|
||
type_tags: | ||
- deploy | ||
|
||
is_always_run: false | ||
is_skippable: false | ||
run_if: "" | ||
|
||
|
||
deps: | ||
brew: | ||
- name: curl | ||
apt_get: | ||
- name: curl | ||
|
||
|
||
toolkit: | ||
bash: | ||
entry_file: step.sh | ||
|
||
|
||
inputs: | ||
- api_key: "" | ||
opts: | ||
title: "Updraft API_KEY" | ||
summary: "Your API Key you find in your Profile." | ||
is_expand: true | ||
is_required: true | ||
is_sensitive: true | ||
- app_key: "" | ||
opts: | ||
title: "Updraft APP_KEY" | ||
summary: "The App Key you will find on the application overview. The App key differs for each environment." | ||
is_expand: true | ||
is_required: true | ||
is_sensitive: true | ||
- app_path: "" | ||
opts: | ||
title: "App file path" | ||
summary: "Path to app's binary file (IPA/APK/AAB) to upload" | ||
description: | | ||
Path to app's binary file (IPA/APK/AAB) to upload. | ||
$BITRISE\_APK\_PATH, $BITRISE\_IPA\_PATH, and so on. | ||
is_required: true | ||
- release_notes: "" | ||
opts: | ||
title: "Release notes" | ||
summary: "Release notes" | ||
description: | | ||
Message to show on build download page | ||
is_required: false | ||
|
||
outputs: | ||
- UPDRAFT_DEPLOY_STEP_OUTPUT: | ||
opts: | ||
title: "Deploy Updraft step output" | ||
summary: "Deploy Updraft step output json" | ||
description: | | ||
Description of this output. | ||
Can be Markdown formatted text. |
Binary file not shown.