Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Octogonapus committed May 1, 2024
0 parents commit 9edd88a
Show file tree
Hide file tree
Showing 32 changed files with 15,918 additions and 0 deletions.
45 changes: 45 additions & 0 deletions .github/workflows/CompatHelper.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: CompatHelper
on:
schedule:
- cron: 0 0 * * *
workflow_dispatch:
permissions:
contents: write
pull-requests: write
jobs:
CompatHelper:
runs-on: ubuntu-latest
steps:
- name: Check if Julia is already available in the PATH
id: julia_in_path
run: which julia
continue-on-error: true
- name: Install Julia, but only if it is not already available in the PATH
uses: julia-actions/setup-julia@v1
with:
version: '1'
# arch: ${{ runner.arch }}
if: steps.julia_in_path.outcome != 'success'
- name: "Add the General registry via Git"
run: |
import Pkg
ENV["JULIA_PKG_SERVER"] = ""
Pkg.Registry.add("General")
shell: julia --color=yes {0}
- name: "Install CompatHelper"
run: |
import Pkg
name = "CompatHelper"
uuid = "aa819f21-2bde-4658-8897-bab36330d9b7"
version = "3"
Pkg.add(; name, uuid, version)
shell: julia --color=yes {0}
- name: "Run CompatHelper"
run: |
import CompatHelper
CompatHelper.main()
shell: julia --color=yes {0}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }}
# COMPATHELPER_PRIV: ${{ secrets.COMPATHELPER_PRIV }}
19 changes: 19 additions & 0 deletions .github/workflows/Documenter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Documenter
on:
push:
branches: [main]
tags: [v*]
pull_request:

jobs:
Documenter:
permissions:
contents: write
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-docdeploy@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
15 changes: 15 additions & 0 deletions .github/workflows/TagBot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: TagBot
on:
issue_comment:
types:
- created
workflow_dispatch:
jobs:
TagBot:
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
runs-on: ubuntu-latest
steps:
- uses: JuliaRegistries/TagBot@v1
with:
ssh: ${{ secrets.DOCUMENTER_KEY }}
token: ${{ secrets.GITHUB_TOKEN }}
50 changes: 50 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: CI
on:
push:
branches: [main]
tags: ["*"]
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true
jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
version:
- "1.9"
- "1" # automatically expands to the latest stable 1.x release of Julia
- nightly
os:
- ubuntu-latest
- macOS-latest
- windows-latest
arch:
- x64
exclude: # aws_c_common doesn't support x86 windows https://github.com/JuliaPackaging/Yggdrasil/blob/bbab3a916ae5543902b025a4a873cf9ee4a7de68/A/aws_c_common/build_tarballs.jl#L48-L49
- os: windows-latest
version: "1"
arch: x86
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: actions/cache@v1
env:
cache-name: cache-artifacts
with:
path: ~/.julia/artifacts
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
restore-keys: |
${{ runner.os }}-test-${{ env.cache-name }}-
${{ runner.os }}-test-
${{ runner.os }}-
- uses: julia-actions/julia-buildpkg@v1
timeout-minutes: 3
- uses: julia-actions/julia-runtest@v1
51 changes: 51 additions & 0 deletions .github/workflows/generate_bindings.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Generate Bindings
on:
workflow_dispatch:
push:
branches: [main]
paths:
- .github/workflows/generate_bindings.yml
- gen/**
pull_request:
branches: [main]
paths:
- .github/workflows/generate_bindings.yml
- gen/**
concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true
jobs:
generate-bindings:
name: Generate bindings
runs-on: ubuntu-22.04
timeout-minutes: 20
steps:
- uses: actions/checkout@v4

- uses: julia-actions/setup-julia@v1
with:
version: "1.10.2"

- name: Run the generator
run: ./gen/generate.sh

- name: Create Pull Request (on push)
if: ${{ github.event_name == 'push' }}
uses: peter-evans/create-pull-request@v6
with:
commit-message: "Regenerate bindings"
title: "Regenerate bindings"
reviewers: |
quinnj
Octogonapus
- name: Create Pull Request (on PR)
if: ${{ github.event_name == 'pull_request' }}
uses: peter-evans/create-pull-request@v6
with:
base: ${{ github.head_ref }}
commit-message: "Regenerate bindings"
title: "Regenerate bindings"
reviewers: |
quinnj
Octogonapus
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
*.jl.cov
*.jl.*.cov
*.jl.mem
.DS_Store
/docs/build/
/docs/Manifest.toml
/Manifest.toml
.vscode/
22 changes: 22 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
The LibAwsIot.jl package is licensed under the MIT "Expat" License:

> Copyright (c) 2024: Jacob Quinn and Ryan Benasutti
>
> 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.
34 changes: 34 additions & 0 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name = "LibAwsIot"
uuid = "d022c788-31c6-4e56-9a35-f63e7e4f3ca1"
version = "1.0.0"

[deps]
CEnum = "fa961155-64e5-5f13-b03f-caf6b980ea82"
LibAwsCal = "ef519ef6-af43-41a0-8ac4-eb81328190af"
LibAwsCommon = "c6e421ba-b5f8-4792-a1c4-42948de3ed9d"
LibAwsCompression = "51c8708f-2dd9-446d-a0d4-ba9f49ba4b23"
LibAwsHTTP = "ce851869-0d7a-41e7-95ef-2d4cb63876dd"
LibAwsIO = "a5388770-19df-4151-b103-3d71de896ddf"
LibAwsMqtt = "dbf63f58-971e-4a9b-b153-820e5f7f543b"
LibAwsSdkutils = "c5f27dc9-c37b-4573-9b6c-b90055172160"
aws_c_iot_jll = "ac3cf774-1c31-5ab1-b91e-e77d3fbc835d"

[compat]
Aqua = "0.7"
CEnum = "0.5"
LibAwsCal = "=1.0.0"
LibAwsCommon = "=1.0.0"
LibAwsCompression = "=1.0.0"
LibAwsHTTP = "=1.0.0"
LibAwsIO = "=1.0.0"
LibAwsMqtt = "=1.0.0"
LibAwsSdkutils = "=1.0.0"
aws_c_iot_jll = "=0.1.21"
julia = "1.6"

[extras]
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["Aqua", "Test"]
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[![](https://img.shields.io/badge/docs-stable-blue.svg)](https://JuliaServices.github.io/LibAwsIot.jl/stable)
[![](https://img.shields.io/badge/docs-dev-blue.svg)](https://JuliaServices.github.io/LibAwsIot.jl/dev)
[![CI](https://github.com/JuliaServices/LibAwsIot.jl/actions/workflows/ci.yml/badge.svg)](https://github.com/JuliaServices/LibAwsIot.jl/actions/workflows/ci.yml)

# LibAwsIot.jl

Julia bindings for the [aws-c-iot](https://github.com/awslabs/aws-c-iot) library.
3 changes: 3 additions & 0 deletions docs/Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[deps]
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
LibAwsIot = "d022c788-31c6-4e56-9a35-f63e7e4f3ca1"
20 changes: 20 additions & 0 deletions docs/make.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
using LibAwsIot
using Documenter

DocMeta.setdocmeta!(LibAwsIot, :DocTestSetup, :(using LibAwsIot); recursive=true)

makedocs(;
modules=[LibAwsIot],
repo="https://github.com/JuliaServices/LibAwsIot.jl/blob/{commit}{path}#{line}",
sitename="LibAwsIot.jl",
format=Documenter.HTML(;
prettyurls=get(ENV, "CI", "false") == "true",
canonical="https://github.com/JuliaServices/LibAwsIot.jl",
assets=String[],
size_threshold=2_000_000, # 2 MB, we generate about 1 MB page
size_threshold_warn=2_000_000,
),
pages=["Home" => "index.md"],
)

deploydocs(; repo="github.com/JuliaServices/LibAwsIot.jl", devbranch="main")
14 changes: 14 additions & 0 deletions docs/src/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
```@meta
CurrentModule = LibAwsIot
```

# LibAwsIot

Documentation for [LibAwsIot](https://github.com/JuliaServices/LibAwsIot.jl).

```@index
```

```@autodocs
Modules = [LibAwsIot]
```
Loading

0 comments on commit 9edd88a

Please sign in to comment.