Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jvalkeal/atestn
https://github.com/jvalkeal/atestn
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/jvalkeal/atestn
- Owner: jvalkeal
- License: apache-2.0
- Created: 2024-03-13T07:49:12.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-05-06T12:37:03.000Z (6 months ago)
- Last Synced: 2024-05-06T14:23:16.652Z (6 months ago)
- Language: TypeScript
- Size: 907 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# Nexus Sync Action
A GitHub action for deploying to a Maven Central.
## Arguments
| Input | Description | Usage |
| --------------------------- | -------------------------------------------------------------------------------------- | -------- |
| `username` | Nexus username | Required |
| `password` | Nexus password | Required |
| `staging-profile-name` | Nexus Staging Profile Name | Required |
| `dir` | Base directory for files to sync, defaults to "nexus" | Optional |
| `create` | Automatically create repository, defaults to "false" | Optional |
| `staging-repo-id` | Nexus Staging Repo id | Optional |
| `close` | Automatically close repository, defaults to "false". | Optional |
| `drop-if-failure` | Automatically drop repository, defaults to "false". | Optional |
| `close-timeout` | How long in seconds to wait slow nexus close operation, defaults to "600" | Optional |
| `release` | Automatically release repository, defaults to "false". | Optional |
| `release-auto-drop` | Drop repo after release, defaults to "true". | Optional |
| `release-timeout` | How long in seconds to wait slow nexus release operation, defaults to "600" | Optional |
| `generate-checksums` | Generate checksums, defaults to "false" | Optional |
| `generate-checksums-config` | Config to generate checksum files. | Optional |
| `url` | Base Nexus url, defaults to "https://oss.sonatype.org" | Optional |
| `upload` | Upload files, defaults to "false". | Optional |
| `upload-parallel` | How many files are uploaded parallel, defaults to "1" | Optional |
| `nexus-timeout` | How long in seconds to wait http requests to nexus, defaults to "0" meaning no timeout | Optional |## Usage
See [action.yml](action.yml)
On default this action really does nothing unless needed configs are in place.
This normal example of an action does:
- Takes everything under base directory _nexus_
- Create _md5_ and _sha_ checksums
- Creates a stating repo
- Uploads everything under _nexus_ into newly create stating repo
- Closes it and wait closed state
- Releases it and wait a proper state
- After all this, you should have artifacts released```yaml
name: Sync
on:
workflow_dispatch:
jobs:
sync:
runs-on: ubuntu-latest
- uses: jvalkeal/atestn@main
with:
username: ${{ secrets.NEXUS_USERNAME }}
password: ${{ secrets.NEXUS_PASSWORD }}
staging-profile-name: test
create: true
upload: true
close: true
release: true
generate-checksums: true
```## License
Nexus Sync Action is Open Source software released under the
[Apache 2.0 license](https://www.apache.org/licenses/LICENSE-2.0.html).